OSDN Git Service

Merge pull request #41 from Bytom/dev
[bytom/vapor.git] / tools / side_chain_tool / manager.py
1 # -*- coding:utf-8 -*-
2 import os
3 COV = None
4 if os.environ.get('FLASK_COVERAGE'):
5     import coverage
6     COV = coverage.coverage(branch=True, include='app/*')
7     COV.start()
8
9 if os.path.exists('.env'):
10     print('Importing environment from .env...')
11     for line in open('.env'):
12         var = line.strip().split('=')
13         if len(var) == 2:
14             os.environ[var[0]] = var[1]
15
16 from flask_script import Manager
17 from app import create_app, db
18 from flask_migrate import Migrate, MigrateCommand
19
20 app = create_app(os.getenv('FLASK_CONFIG') or 'default')
21 manager = Manager(app)
22 migrate = Migrate(app, db)
23 manager.add_command('db', MigrateCommand)
24
25
26 @manager.command
27 def dev():
28     from  livereload import Server
29     live_server = Server(app.wsgi_app)
30     live_server.watch('**/*.*')
31     live_server.serve(open_url=True)
32
33 @manager.command
34 def profile(length=25, profile_dir=None):
35     from werkzeug.contrib.profiler import ProfilerMiddleware
36     app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions=[length],
37                                       profile_dir=profile_dir)
38     app.run()
39
40 @manager.command
41 def deploy():
42     from flask_migrate import upgrade
43     # 更新迁移数据库
44     upgrade()
45
46
47 if __name__ == '__main__':
48     manager.run()