Exemple #1
0
            filename[:-3] for filename in config_files))
    elif not app.APP.config.from_pyfile(
            os.path.join(EISITIRIO_DIR, 'config', config_files[0])):
        print 'Could not load config file {0}'.format(
            os.path.join(EISITIRIO_DIR, 'config', config_files[0]))
    else:
        return app.APP

    sys.exit(-1)


script.Server.help = 'Run the development server'

MIGRATE = migrate.Migrate(app.APP, db.DB)

MANAGER = script.Manager(get_app, with_default_commands=False)

MANAGER.add_option('config',
                   default=None,
                   help="Configuration file to load before running commands")

# MANAGER.add_command('bpython', run_bpython.BpythonCommand)
MANAGER.add_command('cron', cron.CronCommand)
MANAGER.add_command('fix_graduand_postage',
                    fix_graduand_postage.FixGraduandPostageCommand)
MANAGER.add_command('db', migrate.MigrateCommand)
MANAGER.add_command('prefill', prefill.PrefillCommand)
MANAGER.add_command('run', script.Server)
MANAGER.add_command('update_battels', update_battels.UpdateBattelsCommand)
MANAGER.add_command('send_qr_tickets', create_qr_codes.CreateQRCodes)
MANAGER.add_command('send_list_of_tickets_to_webmaster',
Exemple #2
0
#!/usr/bin/env python2.7

import buzzwebpanel
from buzzwebpanel import db
import buzzwebpanel.models

import flask_script
import flask_migrate

manager = flask_script.Manager(buzzwebpanel.app)

# Database migrations
migrate = flask_migrate.Migrate(buzzwebpanel.app, buzzwebpanel.db)
manager.add_command('db', flask_migrate.MigrateCommand)


if __name__ == '__main__':
    manager.run()
Exemple #3
0
    # Loading commands
    crons = os.path.join(os.path.dirname(__file__), "crons")
    for file in os.listdir(crons):
        if not os.path.isfile(os.path.join(crons, file)):
            continue

        if file == '__init__.py':
            continue

        if file[-3:] != '.py':
            continue

        filename = file[:-3]
        objectname = ''.join([x.capitalize() for x in filename.split('_')])

        command = import_string('crons.{0}.{1}'.format(filename, objectname))
        command_name = getattr(command, "name", None)
        if command_name is None:
            command_name = filename

        manager.add_command(command_name, command())


if __name__ == "__main__":
    manager = flask_script.Manager(app_factory)
    manager.add_command('db', MigrateCommand)

    load_commands(manager)

    manager.run()
Exemple #4
0
# Copyright (C) Electronic Arts Inc.  All rights reserved.

import flask_script

import muffin.factories
import muffin.manage.seed as mg

application = muffin.factories.create_app('muffin.cfg')

manager = flask_script.Manager(application)
manager.add_command('seed', mg.SeedDatabase)

if __name__ == "__main__":
    manager.run()
Exemple #5
0
from puffin import app
from puffin import core
from puffin.core import db
from puffin.core import queue
from puffin.core import mail
from puffin.core import security
from puffin.core import docker
from puffin.core import applications
from puffin.core import machine
from puffin.core import compose
from puffin.core import network
from puffin.core import backup as backup_module


manager = flask_script.Manager(app, with_default_commands=False)


@manager.command
@manager.option("-r", "--reload", action="store_true",
        help="Reload the server if any file changes")
def server(reload=False):
    "Run the server"
    if reload:
        reload_module.reload_me("server")
    else:
        waitress.serve(app, host=app.config["HOST"], port=app.config["PORT"],
                threads=app.config["THREADS"])


def make_shell_context():
import io
import logging
import typing

import flask
import flask_script
import latex
from sqlalchemy.orm.session import Session

import web.db
import web.storage

logger = logging.getLogger(__name__)

PubSubCommand = flask_script.Manager(help='Run latex files compilation')

# TODO: implement later
# import pathlib
# import tempfile
# import zipfile
#
# def build_pfd_from_zip(self, entrypoint: str, stream: io.RawIOBase):
#     with zipfile.ZipFile(stream) as myzip:
#         myzip.testzip()
#         with tempfile.TemporaryDirectory() as tempdir:
#             myzip.extractall(tempdir)
#             entry_path = pathlib.Path(tempdir) / entrypoint
#             return latex.build_pdf(
#                 entry_path.open(), texinputs=[str(entry_path.parent)])

Exemple #7
0
#!/usr/bin/env python2.7

import get5
from get5 import db
import get5.models

import flask_script
import flask_migrate

manager = flask_script.Manager(get5.app)

# Database migrations
migrate = flask_migrate.Migrate(get5.app, get5.db)
manager.add_command('db', flask_migrate.MigrateCommand)

if __name__ == '__main__':
    manager.run()
Exemple #8
0
# -*- coding:utf-8 -*-

import flask_script as script

import commands

from main import app_factory
try:
    import config
except:
    print "WARNING: missing config, using defaults file"
    import config_defaults as config

manager = script.Manager(app_factory)


@manager.command
def list_routes():
    import urllib
    output = []
    for rule in app.url_map.iter_rules():

        options = {}
        for arg in rule.arguments:
            options[arg] = "[{0}]".format(arg)

        methods = ','.join(rule.methods)
        url = url_for(rule.endpoint, **options)
        line = urllib.unquote("{:50s} {:20s} {}".format(
            rule.endpoint, methods, url))
        output.append(line)
"""
migrate.py: Handle database migrations

__author__ = "Fernando P. Lopes"
__email__ = "*****@*****.**"

"""
import flask_script as fs
import flask_migrate as fm
from app import app
from app import db
from app.models import *

migrate = fm.Migrate(app, db)
manager = fs.Manager(app)

manager.add_command('db', fm.MigrateCommand)

if __name__ == '__main__':
    manager.run()
Exemple #10
0
import re
import json
import pprint
import time
import datetime

from flask import current_app
from flask import render_template_string
import flask_script
from flask_script.commands import ShowUrls

from web.application import create_app
from share.kit import kit
from share.utils import alloc_autoid, get_appinfo_by_appkey, create_appinfo

manager = flask_script.Manager(create_app)
manager.add_option('-c', '--config', dest='config', required=False)


class GServer(flask_script.Command):
    """
    Runs the Flask gevent server

    :param host: server host
    :param port: server port
    """

    help = description = 'Runs the Flask gevent server'

    def __init__(self, host='127.0.0.1', port=5000):
        super(GServer, self).__init__()
"""Main program for Microsoft Graph Connect sample.
To run the app, execute the command "python manage.py runserver" and then
open a browser and go to http://localhost:5000/
"""
import flask_script
import connectsample
import drive_service

#MANAGER = flask_script.Manager(connectsample.app)
MANAGER = flask_script.Manager(drive_service.app)
MANAGER.add_command('runserver', flask_script.Server(host='localhost'))
MANAGER.run()
Exemple #12
0
from fa_test.app import db
import flask_script
import data as users_data

manager = flask_script.Manager("User/Role Operations")


@manager.command
def initialize_data():
    """ Populate with initial user/role data. """
    users_data.setup_initial_data(db.session)
Exemple #13
0
import os
import sys

import flask_script as script
from sirius.models import hardware
from sirius.models import user as user_model
from sirius.models.db import db
from sirius.coding import bitshuffle
from sirius.coding import claiming


def sub_opts(app, **kwargs):
    pass


fake_manager = script.Manager(sub_opts, usage="Fake printer interactions.")


@fake_manager.command
def printer():
    device_address = os.urandom(8).hex()
    xor = bitshuffle.hardware_xor_from_device_address(device_address)
    secret = os.urandom(5).hex()

    cc = claiming.encode(xor, int(secret, 16))
    printer = hardware.Printer(
        device_address=device_address,
        hardware_xor=xor,
    )
    db.session.add(printer)
    db.session.commit()
Exemple #14
0
import flask_script
import re

manager = flask_script.Manager(usage="Setup NodeDefender Configuration")

@manager.command
def all():
    NodeDefender.manage.setup.general.general()
    NodeDefender.manage.setup.database.database()
    NodeDefender.manage.setup.redis.redis()
    NodeDefender.manage.setup.mail.mail()
    NodeDefender.manage.setup.logging.logging()
    NodeDefender.manage.setup.celery.celery()
    print_topic("Configuration Successfully Updated!")
    return True

def get_chunks(message):
    return [ message[i:i+38] for i in range(0, len(message), 38)]

def print_message(message):
    print("#")
    if len(message) > 38:
        for chunk in get_chunks(message):
            print("#" +  chunk.center(38))
    else:
        print("#" + message.center(38))
    print("#")
    return True

def print_topic(topic):
    print("****************************************")
Exemple #15
0
import datetime as dt
import flask
import flask_script as script
from flask_migrate import Migrate, MigrateCommand, stamp
from alembic.migration import MigrationContext
from alembic.script import ScriptDirectory
import six
from .. import create_app, db, migrate, models, auth, killmail
from .datetime import utc


if six.PY3:
    unicode = str


manager = script.Manager(create_app)


class AbsolutePathAction(argparse.Action):
    """Custom argparse.Action that transforms path strings into absolute paths.
    """
    def __call__(self, parser, namespace, values, option_string=None):
        current_absolute = os.path.abspath(os.getcwd())
        if isinstance(values, str):
            new_values = os.path.join(current_absolute, values)
        else:
            new_values = []
            for value in values:
                real_path = os.path.join(current_absolute, values)
                new_values.append(real_path)
        setattr(namespace, self.dest, new_values)
Exemple #16
0
"""Main program for Microsoft Graph Connect sample.
To run the app, execute the command "python manage.py runserver" and then
open a browser and go to http://localhost:5000/
"""
import flask_script
import connectsample

MANAGER = flask_script.Manager(connectsample.app)
MANAGER.add_command('runserver', flask_script.Server(host='localhost'))
MANAGER.run()
Exemple #17
0
#!/usr/bin/env python

import flask_migrate
import flask_script

from seabus.web.socketio import socketio
from seabus.common.database import db
from seabus.web.web import create_app as create_web_app
from seabus.nmea_listen.listener import listen

web_app = create_web_app('Dev')

web_manager = flask_script.Manager(web_app)

flask_migrate.Migrate(web_app, db)
web_manager.add_command('db', flask_migrate.MigrateCommand)

@web_manager.command
def webdev():
    socketio.run(
        web_app,
        host='0.0.0.0',
        port=5000,
        debug=True,
        use_reloader=True,
    )

@web_manager.command
def webprod():
    web_app.config.from_object('seabus.web.config.Prod')
    socketio.run(
Exemple #18
0
import tripadvisor
import flask_script as script
from flask_migrate import Migrate, MigrateCommand
from prometheus_flask_exporter.multiprocess import UWsgiPrometheusMetrics
from tripadvisor.models import User, Follow, TripAdvisor, Comment,\
                             Love, Child_cmt, Click, Comment_like

app = tripadvisor.create_application()
migrate = Migrate(app, tripadvisor.db)
manager = script.Manager(app)
manager.add_command('runserver', script.Server(host='0.0.0.0', port=8000))
manager.add_command('shell',
                    script.Shell(make_context=lambda: {'current_app': app}))

try:
    metrics = UWsgiPrometheusMetrics(app=app,
                                     default_labels={'project': 'hotel'})
    metrics.start_http_server(9200)
except ModuleNotFoundError:
    pass


def make_shell_context():
    return dict(app=app,
                db=tripadvisor.db,
                User=User,
                Follow=Follow,
                Food=Food,
                Survey=Survey,
                TripAdvisor=TripAdvisor)
Exemple #19
0
    # practice.
    request_id = str(uuid.uuid4())
    instrumentation = {'client-request-id' : request_id,
                       'return-client-request-id' : 'true'}
    headers.update(instrumentation)

	# Create the email that is to be sent via the Graph API
    email = {'Message': {'Subject': 'Welcome to the Microsoft Graph Connect sample for Python',
                         'Body': {'ContentType': 'HTML',
                                  'Content': render_template('email.html', name=name)},
                         'ToRecipients': [{'EmailAddress': {'Address': email_address}}]
                        },
             'SaveToSentItems': 'true'}

    response = requests.post(url=send_mail_url,
                             headers=headers,
                             data=json.dumps(email),
                             verify=False,
                             params=None)

    if response.ok:
        return 'SUCCESS'
    else:
        return '{0}: {1}'.format(response.status_code, response.text)



MANAGER = flask_script.Manager(app)
MANAGER.add_command('runserver',flask_script.Server(host='localhost'))
MANAGER.run()
Exemple #20
0
         os.path.join(app.root_path, "dumbrss.db")))
if os.getenv("DRSS_CONFIG") is None:
    os.environ["DRSS_CONFIG"] = os.path.join(app.root_path, "config.py")
app.config.from_envvar("DRSS_CONFIG", silent=True)

if app.config["SECRET_KEY"] is None:
    f = open(os.environ["DRSS_CONFIG"], "a")
    app.config["SECRET_KEY"] = os.urandom(32)
    f.write("SECRET_KEY = " + str(app.config["SECRET_KEY"]) + "\n")
    f.close()

# Deprecated
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

db = flask_sqlalchemy.SQLAlchemy(app)
manager = flask_script.Manager(app)

# Set the timezone to UTC for consistent time stamps
os.environ["TZ"] = "UTC"
time.tzset()


class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    feed_id = db.Column(db.Integer, db.ForeignKey("feed.id"))
    feed = db.relationship("Feed",
                           backref=db.backref("entries", lazy="dynamic"))
    link = db.Column(db.Text)
    title = db.Column(db.Text)
    summary = db.Column(db.Text)
    author = db.Column(db.Text)
import flask_script

from wg_forge_backend_test import create_application
from wg_forge_backend_test.extensions import database
from wg_forge_backend_test.cats import models
from wg_forge_backend_test.commands import DatabaseFiller
from wg_forge_backend_test.conf import Config

manager = flask_script.Manager(create_application)
manager.add_command("runserver", flask_script.Server())
manager.add_command("shell", flask_script.Shell())
manager.add_command("fill_database", DatabaseFiller())


@manager.shell
def make_shell_context():
    return dict(app=create_application(),
                config=Config,
                db=database,
                models=models)


def main():
    manager.run()


if __name__ == '__main__':
    main()