import eventlet eventlet.monkey_patch() # noqa from app import create_app, db, socketio from app.models import (Corpus, CorpusFile, Job, JobInput, JobResult, NotificationData, NotificationEmailData, QueryResult, Result, ResultFile, Role, User) from flask_migrate import Migrate, upgrade import os app = create_app(os.getenv('FLASK_CONFIG') or 'default') migrate = Migrate(app, db, compare_type=True) @app.shell_context_processor def make_shell_context(): return {'Corpus': Corpus, 'CorpusFile': CorpusFile, 'db': db, 'Job': Job, 'JobInput': JobInput, 'JobResult': JobResult, 'NotificationData': NotificationData, 'NotificationEmailData': NotificationEmailData, 'QueryResult': QueryResult, 'Result': Result, 'ResultFile': ResultFile, 'Role': Role, 'User': User} @app.cli.command() def deploy(): """Run deployment tasks.""" # migrate database to latest revision upgrade() # create or update user roles Role.insert_roles() @app.cli.command() def test(): """Run the unit tests.""" import unittest tests = unittest.TestLoader().discover('tests') unittest.TextTestRunner(verbosity=2).run(tests) if __name__ == '__main__': socketio.run(app, host='0.0.0.0')