from models import Admin,Category,Post,Comment
from extensions import db
from faker import Faker
import random
fake=Faker()
def fake_admin():
admin=Admin(username='admin',blog_title="Flaskblog",blog_sub_title="No,I am the real thing",
name="Miro",abount="I am a fun guy....")
admin.set_password("admin")
db.session.add(admin)
db.session.commit()
def fake_categories(count=10):
category=Category(name="Default")
db.session.add(category)
for i in range(count):
category=Category(name=fake.word())
db.session.add(category)
try:
db.session.commit()
except:
db.session.rollback()
def fake_posts(count=50):
for i in range(count):
post = Post(
title=fake.sentence(),
body=fake.text(2000),
category=Category.query.get(random.randint(1, Category.query.count())),
timestamp=fake.date_time_this_year()
)
db.session.add(post)
db.session.commit()
def fake_comments(count=500):
for i in range(count):
comment = Comment(
author=fake.name(),
email=fake.email(),
site=fake.url(),
body=fake.sentence(),
timestamp=fake.date_time_this_year(),
reviewed=True,
post=Post.query.get(random.randint(1, Post.query.count()))
)
db.session.add(comment)
salt = int(count * 0.1)
for i in range(salt):
# unreviewed comments
comment = Comment(
author=fake.name(),
email=fake.email(),
site=fake.url(),
body=fake.sentence(),
timestamp=fake.date_time_this_year(),
reviewed=False,
post=Post.query.get(random.randint(1, Post.query.count()))
)
db.session.add(comment)
# from admin
comment = Comment(
author='Mima Kirigoe',
email='mima@example.com',
site='example.com',
body=fake.sentence(),
timestamp=fake.date_time_this_year(),
from_admin=True,
reviewed=True,
post=Post.query.get(random.randint(1, Post.query.count()))
)
db.session.add(comment)
db.session.commit()
# replies
for i in range(salt):
comment = Comment(
author=fake.name(),
email=fake.email(),
site=fake.url(),
body=fake.sentence(),
timestamp=fake.date_time_this_year(),
reviewed=True,
replied=Comment.query.get(random.randint(1, Comment.query.count())),
post=Post.query.get(random.randint(1, Post.query.count()))
)
db.session.add(comment)
db.session.commit()