Beispiel #1
0
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()
Beispiel #2
0
 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()
Beispiel #4
0
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()
Beispiel #6
0
    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
Beispiel #7
0
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()
Beispiel #8
0
    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
Beispiel #9
0
    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
Beispiel #10
0
    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
Beispiel #11
0
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()
Beispiel #12
0
    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
Beispiel #13
0
    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
Beispiel #14
0
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()
Beispiel #15
0
    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
Beispiel #16
0
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()
Beispiel #17
0
def main():
    app = init_app()
    manager = Manager(app)
    manager.add_command('seed', Seed())
    # manager.add_command('import', ImportVisitors())
    manager.run()
    return app
Beispiel #18
0
    def test_run_no_name(self):

        manager = Manager(self.app)
        sys.argv = ["manage.py"]
        try:
            manager.run()
        except SystemExit, e:
            assert e.code == 1
Beispiel #19
0
    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
Beispiel #20
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
Beispiel #21
0
 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
Beispiel #22
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
Beispiel #23
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
Beispiel #24
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()
Beispiel #25
0
    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
Beispiel #26
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)
Beispiel #27
0
    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)
Beispiel #28
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()
Beispiel #29
0
 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
Beispiel #30
0
    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)
Beispiel #31
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()
Beispiel #32
0
    从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__)
Beispiel #33
0
#-*- 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()
Beispiel #34
0
#!/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')
Beispiel #35
0
def run():
    manager = Manager(app)
    manager.add_command('freeze', Freeze())
    manager.run()
Beispiel #36
0
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
Beispiel #38
0

@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()
Beispiel #39
0
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")
Beispiel #40
0
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()
Beispiel #41
0
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)
Beispiel #42
0
#!/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)