def new_message(message_body): message = Message(author=current_user._get_current_object(), body=message_body) db.session.add(message) db.session.commit() emit('new message', { 'message_html': render_template('chat/_message.html', message=message) }, broadcast=True)
def forge(message): """Generate fake data.""" import random from sqlalchemy.exc import IntegrityError from faker import Faker fake = Faker() click.echo('Initializing the database...') db.drop_all() db.create_all() click.echo('Forging the data...') admin = User(nickname='Tartaurs', email='*****@*****.**') admin.set_password('tartarus') db.session.add(admin) db.session.commit() click.echo('Generating users...') for i in range(50): user = User(nickname=fake.name(), bio=fake.sentence(), github=fake.url(), email=fake.email()) db.session.add(user) try: db.session.commit() except IntegrityError: db.session.rollback() click.echo('Generating messages...') for i in range(message): message = Message( author=User.query.get(random.randint(1, User.query.count())), body=fake.sentence(), timestamp=fake.date_time_between('-30d', '-2d'), ) db.session.add(message) db.session.commit() click.echo('Done.')