def exec_manager(app_name, config=None): app = create_app(app_name, config) manager = Manager(app, with_default_commands=False) manager.add_command("shell", Shell()) manager.add_command("runserver", SimpleServer(app)) manager.add_command("babel", Babel(app)) manager.run()
def test_run_with_default_command(self): manager = Manager(self.app) manager.add_command('simple', SimpleCommand()) try: manager.run(default_command='simple') except SystemExit, e: assert e.code == 0
def run_cli(): # pragma: no cover app = create_base_app() register_blueprints(app) cli = Manager(app) cli.add_command("db", MigrateCommand) cli.run()
def main(): from gevent import monkey monkey.patch_all() import logging from functools import partial from flask.ext.script import Manager from .web import create from .commands import GeventServer, SocketIOServer logging.basicConfig(level=logging.DEBUG) logging.captureWarnings(True) class Config(object): DEBUG = True SITE_TITLE = 'Mediasearch' SECRET_KEY = 'secret' configured_create = partial( create, config=Config(), ) manager = Manager(configured_create) manager.add_command('rungeventserver', GeventServer()) manager.add_command('runsocketioserver', SocketIOServer()) manager.run()
def migrate(): migrate = Migrate(app, db) manager = Manager(app) manager.add_command('db', MigrateCommand) manager.run()
def test_command_decorator_with_options(self, capsys): manager = Manager(self.app) @manager.command def hello(name='fred'): 'Prints your name' print('hello ' + name) assert 'hello' in manager._commands code = run('manage.py hello --name=joe', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello joe' in out code = run('manage.py hello -n joe', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello joe' in out code = run('manage.py hello -h', lambda: manager.run()) out, err = capsys.readouterr() assert 'Prints your name' in out code = run('manage.py hello --help', lambda: manager.run()) out, err = capsys.readouterr() assert 'Prints your name' in out
def run(): iatidq.db.create_all() iatidq.dqimporttests.hardcodedTests() manager = Manager(iatidataquality.app) server = Server(host='0.0.0.0') manager.add_command("runserver", server) manager.run()
def test_command_decorator_with_additional_options(self): manager = Manager(self.app) @manager.option('-n', '--name', dest='name', help='Your name') def hello(name): print 'hello', name assert 'hello' in manager._commands stdout, code = run('manage.py hello --name=joe', lambda: manager.run()) assert 'hello joe' in stdout stdout, code = run('manage.py hello -h', lambda: manager.run()) assert 'Your name' in stdout @manager.option('-n', '--name', dest='name', help='Your name') @manager.option('-u', '--url', dest='url', help='Your URL') def hello_again(name, url=None): if url: print 'hello', name, 'from', url else: print 'hello', name assert 'hello_again' in manager._commands stdout, code = run('manage.py hello_again --name=joe', lambda: manager.run()) assert 'hello joe' in stdout stdout, code = run('manage.py hello_again --name=joe --url=reddit.com', lambda: manager.run()) assert 'hello joe from reddit.com' in stdout
def test_global_option_value(self): def create_app(config_name='Empty'): print config_name return self.app manager = Manager(create_app) manager.add_option('-c', '--config', dest='config_name', required=False, default='Development') manager.add_command('simple', SimpleCommand()) assert isinstance(manager._commands['simple'], SimpleCommand) stdout, code = run('manage.py simple', lambda: manager.run()) assert code == 0 assert 'Empty' not in stdout # config_name is overwritten by default option value assert 'Development' in stdout assert 'OK' in stdout stdout, code = run('manage.py -c Before simple', lambda: manager.run()) assert code == 0 assert 'Before' in stdout assert 'OK' in stdout stdout, code = run('manage.py simple -c After', lambda: manager.run()) assert code == 0 assert 'After' in stdout assert 'OK' in stdout stdout, code = run('manage.py -c DoNotShow simple -c NewValue', lambda: manager.run()) assert code == 0 assert 'DoNotShow' not in stdout # first parameter is ignored assert 'NewValue' in stdout # second on is printed assert 'OK' in stdout
def test_command_decorator_with_boolean_options(self, capsys): manager = Manager(self.app) @manager.command def verify(verified=False): 'Checks if verified' print('VERIFIED ? ' + 'YES' if verified else 'NO') assert 'verify' in manager._commands code = run('manage.py verify --verified', lambda: manager.run()) out, err = capsys.readouterr() assert 'YES' in out code = run('manage.py verify -v', lambda: manager.run()) out, err = capsys.readouterr() assert 'YES' in out code = run('manage.py verify', lambda: manager.run()) out, err = capsys.readouterr() assert 'NO' in out code = run('manage.py verify -h', lambda: manager.run()) out, err = capsys.readouterr() assert 'Checks if verified' in out
class ServiceManager: def __init__(self, service): # create and attach a command manager for the service self.commandManager = Manager(service.app) self.service = service @self.commandManager.command def syncdb(): """ Create the database entries. """ # import the db module from nautilus.db import db # create all of the tables db.create_all() # notify the user print("Successfully created database entries.") @self.commandManager.command def runserver(host = '127.0.0.1', port = 8000, debug = False, secretKey = 'supersecret'): """ Start the service. """ service.run(host = host, port = int(port), debug = debug, secretKey = secretKey) def run(self): """ run the command manager """ try: self.commandManager.run() except KeyboardInterrupt: print() print("Cleaning up service...") self.service.stop() except Exception as err: print("Closing due to error: %s" % err) self.service.stop()
def test_command_with_default_prompt(self, capsys): manager = Manager(self.app) @manager.command def hello(): print(prompt(name='hello', default='romeo')) @Catcher def hello(msg): if re.search("hello", msg): return '\n' # just hit enter with hello: code = run('manage.py hello', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello [romeo]: romeo' in out @Catcher def hello_juliette(msg): if re.search("hello", msg): return 'juliette' with hello_juliette: code = run('manage.py hello', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello [romeo]: juliette' in out
def test_submanager_usage_and_help_and_description(self, capsys): sub_manager = Manager(usage='sub_manager [--foo]', help='shorter desc for submanager', description='longer desc for submanager') sub_manager.add_command('simple', SimpleCommand()) manager = Manager(self.app) manager.add_command('sub_manager', sub_manager) code = run('manage.py -h', lambda: manager.run()) out, err = capsys.readouterr() assert code == 0 assert 'sub_manager [--foo]' not in out assert 'shorter desc for submanager' in out assert 'longer desc for submanager' not in out code = run('manage.py sub_manager', lambda: manager.run()) out, err = capsys.readouterr() assert code == 2 assert 'too few arguments' in err code = run('manage.py sub_manager -h', lambda: manager.run()) out, err = capsys.readouterr() assert code == 0 assert 'sub_manager [--foo]' in out assert 'shorter desc for submanager' not in out assert 'longer desc for submanager' in out assert 'simple command' in out code = run('manage.py sub_manager simple -h', lambda: manager.run()) out, err = capsys.readouterr() assert code == 0 assert 'sub_manager [--foo] simple [-h]' in out assert 'simple command' in out
def main(): manager = Manager(create_app) @manager.command def show_routes(): print current_app.url_map @manager.command def db_populate(): user_admin = User(name='Administrator', username='******', password='******', email='*****@*****.**') db.session.add(user_admin) for i in range(1, 100): report = Report(user=user_admin, name='My Report {}'.format(i)) db.session.add(report) db.session.commit() @manager.command def db_create_all(): db.create_all() @manager.command def db_drop_all(): db.drop_all() manager.run()
def test_command_decorator_with_additional_options(self, capsys): manager = Manager(self.app) @manager.option('-n', '--name', dest='name', help='Your name') def hello(name): print('hello ' + name) assert 'hello' in manager._commands code = run('manage.py hello --name=joe', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello joe' in out code = run('manage.py hello -h', lambda: manager.run()) out, err = capsys.readouterr() assert 'Your name' in out @manager.option('-n', '--name', dest='name', help='Your name') @manager.option('-u', '--url', dest='url', help='Your URL') def hello_again(name, url=None): if url: print('hello ' + name + ' from ' + url) else: print('hello ' + name) assert 'hello_again' in manager._commands code = run('manage.py hello_again --name=joe', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello joe' in out code = run('manage.py hello_again --name=joe --url=reddit.com', lambda: manager.run()) out, err = capsys.readouterr() assert 'hello joe from reddit.com' in out
def main(): manager = Manager(create_app) manager.add_option('-c', '--config', dest='config', required=False) manager.add_command('routes', ShowUrls()) manager.add_command('send_talk_emails', SendTalkEmails()) manager.add_command('send_speaker_emails', SendSpeakerEmails()) manager.add_command('send_invitation_to_previous_speakers', SendInvitationToPreviousSpeakers()) manager.add_command('rungunicorn', RunGunicorn()) @manager.command def import_xml(filename): pythonfosdem.tools.import_xml(filename) @manager.command def db_create(): db.create_all() @manager.command def db_drop(): db.drop_all() @manager.command def db_reset(): pythonfosdem.tools.reset_db() manager.run()
def main(): app = init_app() manager = Manager(app) manager.add_command('seed', Seed()) # manager.add_command('import', ImportVisitors()) manager.run() return app
def test_run_no_name(self): manager = Manager(self.app) sys.argv = ["manage.py"] try: manager.run() except SystemExit, e: assert e.code == 1
def test_run_existing_bind_later(self): manager = Manager(self.app) sys.argv = ["manage.py", "simple"] try: manager.run({'simple': SimpleCommand()}) except SystemExit, e: assert e.code == 0
def test_run_not_existing(self): manager = Manager(self.app) sys.argv = ["manage.py", "simple"] try: manager.run() except SystemExit, e: assert e.code == 1
def test_run_catch_all(self): manager = Manager(self.app) manager.add_command("catch", CommandWithCatchAll()) sys.argv = ["manage.py", "catch", "pos1", "--foo", "pos2", "--bar"] try: manager.run() except SystemExit, e: assert e.code == 0
def test_run_good_options(self): manager = Manager(self.app) manager.add_command("simple", CommandWithOptions()) sys.argv = ["manage.py", "simple", "--name=Joe"] try: manager.run() except SystemExit, e: assert e.code == 0
def test_run_existing(self): manager = Manager(self.app) manager.add_command("simple", SimpleCommand()) sys.argv = ["manage.py", "simple"] try: manager.run() except SystemExit, e: assert e.code == 0
def run(opts, **kw): from flask.ext.migrate import Migrate, MigrateCommand from flask.ext.script import Manager from newslynx.views import app from newslynx.core import db migrate = Migrate(app, db) manager = Manager(app) manager.add_command('db', MigrateCommand) manager.run()
def test_run_dynamic_options(self): manager = Manager(self.app) manager.add_command("simple", CommandWithDynamicOptions('Fred')) sys.argv = ["manage.py", "simple"] try: manager.run() except SystemExit, e: assert e.code == 0
class SuperdeskManager(): """Superdesk scripts manager.""" def __init__(self, app, commands): self.manager = Manager(app) self.commands = commands def run(self): """Run manager with predefined set of commands.""" self.manager.run(self.commands)
def test_run_dbmigrate_test(self): manager = Manager(self.app) manager.add_command('dbmigrate', dbmanager) sys.argv = ['manage.py', 'dbmigrate', 'test'] try: manager.run() except SystemExit, e: self.assertEquals(e.code, 0)
def main(): manager = Manager(make_app(), with_default_commands=False) manager.command(run_worker) manager.command(update_pypi) manager.add_command('shell', Shell(make_context=_make_shell_context)) manager.add_command('run', Server()) manager.run()
def test_run_bad_options(self): manager = Manager(self.app) manager.add_command("simple", CommandWithOptions()) sys.argv = ["manage.py", "simple", "--foo=bar"] try: sys_stderr_orig = sys.stderr sys.stderr = StringIO.StringIO() manager.run() except SystemExit, e: assert e.code == 2
def test_migrate_downgrade_to_0(self): manager = Manager(self.app) manager.add_command('dbmigrate', dbmanager) sys.argv = ['manage.py', 'dbmigrate', 'migrate', '-v', '0'] try: manager.run() except SystemExit, e: self.assertEquals(e.code, 0)
from flask import Flask from flask.ext.script import Command from flask.ext.script import Manager app = Flask(__name__) manager = Manager(app) class Hello(Command): 'prints hello world' def run(self): print "hello world" manager.add_command('hello', Hello()) manager.run({'hello': Hello()}) if __name__ == "__main__": manager.run()
从port表查出所有可用的用户,并重新开启端口 :return: ''' logging.info("重新使能有效端口.....") Port.reenable_port_all() from deamon.threads import StatThread, CliThread # 添加默认执行启动服务器的命令 @manager.command def default_server(): print 'start at %s:%s' % (Config.ACCESSIPS, Config.PORT) logging.info("数据初始化.....") data_related_initial() app.run(debug=True, host=Config.ACCESSIPS, port=Config.PORT, use_reloader=False) # 启动主进程 if __name__ == '__main__': # 启动后台监控进程 thread = StatThread(app) # thread = CliThread(app) thread.start() # 执行数据初始化工作 manager.run(default_command=default_server.__name__)
#-*- coding:utf-8 -*- from flask import Flask, request from flask.ext.script import Manager from ding import Ding, get_sendurl_with_token app = Flask(__name__) manger = Manager(app) secret = ('corpid', 'secretid') token, send_url = get_sendurl_with_token(secret) @app.route('/api', methods=['POST']) def redmine(): data = request.get_data() dd = Ding(data, send_url) user_result = dd.get_mailaddr() if user_result['status']: userid = user_result['userid'] dd.send(userid) else: print 'Can not search userid by email addres' return 'Send finsh' if __name__ == '__main__': manger.run()
#!/usr/bin/env python # -*- coding:utf-8 -*- from flask.ext.script import Manager, Server from flask.ext.migrate import MigrateCommand from config import config from app import commands, create_app if __name__ == "__main__": server = Server(host="0.0.0.0", port=80) app = create_app(config['default']) manager = Manager(app) manager.add_command("runserver", server) manager.add_command("drop_db", commands.DropDB()) manager.add_command("create_db", commands.CreateDB()) manager.add_command('db', MigrateCommand) manager.add_command('init_data', commands.InitData()) manager.run(default_command='runserver')
def run(): manager = Manager(app) manager.add_command('freeze', Freeze()) manager.run()
def DBCommand(): """ Command to manage database. """ mgr = Manager(app) mgr.add_command("db", MigrateCommand) mgr.run()
# Fields to expose fields = ('id', 'content') class ThingsHandler(Resource): def get(self): # return {'names': [{'content': 'xiaoqigui'}, {'content': 'hahaha'}]} res_task = ThingModel.query.all() task_ma = TodoSchema().dump(res_task, many=True) if task_ma.errors: raise InvalidAPIUsage(message=task_ma.errors) return task_ma.data app_todo_blueprint = Blueprint('app_todo', __name__) api_todo = Api(app_todo_blueprint, catch_all_404s=True) api_todo.add_resource(ThingsHandler, '/things') app.register_blueprint(app_todo_blueprint, ) manager = Manager(app) @manager.command def create_db(): db.create_all() if __name__ == '__main__': manager.run() # runserver -p 5000 -h 127.0.0.1
@manager.command def profile(length=25, profile_dir=None): """Start the application under the code profiler.""" from werkzeug.contrib.profiler import ProfilerMiddleware app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions=[length], profile_dir=profile_dir) app.run() @manager.command def deploy(): """Run deployment tasks""" from flask.ext.migrate import upgrade from app.models import Role, User # migrate database to latest revision upgrade() # create user roles Role.insert_roles() # create self-follows for all users User.add_self_follows() if __name__ == '__main__': manager.run()
manager = Manager(app) manager.add_command('db', MigrateCommand) manager.add_command('runserver', MyServer) # Run the testsuite instead of the normal server @manager.option('-v', '--verbose', '-e', '--echo', dest='echo', default=False, action='store_true', help="Echo generated SQL to stderr") def test(echo): if echo: app.config['SQLALCHEMY_ECHO'] = True pytest.main('tests') # Set up imports for the 'shell' command def _make_context(): return dict(app=app, db=db, models=models, views=views) manager.add_command("shell", Shell(make_context=_make_context)) if __name__ == "__main__": manager.run(default_command="runserver")
from flask.ext.migrate import MigrateCommand from flask.ext.script import Manager from info import create_app # 创建应用 app = create_app("dev") # 创建管理器 mgr = Manager(app) # 添加迁移命令 mgr.add_command("mc", MigrateCommand) if __name__ == '__main__': mgr.run()
from flask.ext.migrate import Migrate, MigrateCommand from app import app def push_to_server(): # just use git hooks already pass def background_task(instance): # gunicorn -c config_gunicorn.py instance:app pass def runserver(instance): port = int(os.environ.get("PORT", 8001)) instance.config['DEBUG'] = True instance.config['use_reloader'] = True instance.config['threaded'] = True print 'Awesome running at - ' + str(port) http_server = WSGIServer(('0.0.0.0', port), instance) http_server.serve_forever() if __name__ == '__main__': manager = Manager() manager.run(commands=None) # run(app)
#!/usr/bin/env python # -*- coding: utf-8; -*- # # This file is part of Superdesk. # # Copyright 2013, 2014, 2015 Sourcefabric z.u. and contributors. # # For the full copyright and license information, please see the # AUTHORS and LICENSE files distributed with this source code, or # at https://www.sourcefabric.org/superdesk/license """Superdesk Manager""" import superdesk from flask.ext.script import Manager from app import get_app app = get_app(init_elastic=False) manager = Manager(app) if __name__ == '__main__': manager.run(superdesk.COMMANDS)