Example #1
0
def create_app(config: dict = None):
    app = Flask(__name__, static_url_path='', instance_relative_config=True)

    if config:
        app.config.update(config)
    else:
        app.config.from_envvar("CMSERVICE_CONFIG")

    mako = MakoTemplates()
    mako.init_app(app)
    app._mako_lookup = TemplateLookup(
        directories=[
            pkg_resources.resource_filename('cmservice.service', 'templates')
        ],
        input_encoding='utf-8',
        output_encoding='utf-8',
        imports=['from flask_babel import gettext as _'])

    app.cm = init_consent_manager(app)

    babel = Babel(app)
    babel.localeselector(get_locale)
    app.config[
        'BABEL_TRANSLATION_DIRECTORIES'] = pkg_resources.resource_filename(
            'cmservice.service', 'data/i18n/locales')

    from .views import consent_views
    app.register_blueprint(consent_views)

    setup_logging(app.config.get('LOGGING_LEVEL', 'INFO'))

    logger = logging.getLogger(__name__)
    logger.info("Running CMservice version %s",
                pkg_resources.get_distribution("CMservice").version)
    return app
Example #2
0
def create_app(config: dict = None):
    app = Flask(__name__, static_url_path='', instance_relative_config=True)

    if config:
        app.config.update(config)
    else:
        app.config.from_envvar("CMSERVICE_CONFIG")

    mako = MakoTemplates()
    mako.init_app(app)
    app._mako_lookup = TemplateLookup(directories=[pkg_resources.resource_filename('cmservice.service', 'templates')],
                                      input_encoding='utf-8', output_encoding='utf-8',
                                      imports=['from flask_babel import gettext as _'])

    app.cm = init_consent_manager(app)

    babel = Babel(app)
    babel.localeselector(get_locale)
    app.config['BABEL_TRANSLATION_DIRECTORIES'] = pkg_resources.resource_filename('cmservice.service',
                                                                                  'data/i18n/locales')

    from .views import consent_views
    app.register_blueprint(consent_views)

    setup_logging(app.config.get('LOGGING_LEVEL', 'INFO'))

    logger = logging.getLogger(__name__)
    logger.info("Running CMservice version %s", pkg_resources.get_distribution("CMservice").version)
    return app
Example #3
0
def make_app(secret_key):
    brewmonitor = Flask(__name__)
    brewmonitor.template_folder = '../../templates/'
    brewmonitor.secret_key = secret_key
    _ = MakoTemplates(brewmonitor)

    config = Configuration.load(
        os.environ.get('BREWMONITOR_CONFIG',
                       '/usr/local/brewmonitor/configuration.yaml'))
    brewmonitor.config.update(config.flask_configuration)
    # Ensure that at least that option is off
    brewmonitor.config['MAKO_TRANSLATE_EXCEPTIONS'] = False
    brewmonitor.config['brewmonitor config'] = config

    initialise_db(config)

    brewmonitor.register_blueprint(home_bp)
    brewmonitor.register_blueprint(accessor_bp)
    brewmonitor.register_blueprint(storage_bp)
    brewmonitor.register_blueprint(admin_bp)

    login_manager = LoginManager()
    login_manager.login_view = 'home.index'
    login_manager.init_app(brewmonitor)

    @login_manager.user_loader
    def load_user(id):
        return User.from_db(config.db_connection(), int(id))

    return brewmonitor
Example #4
0
    def setUp(self):
        bp = Blueprint(
            'bp',
            __name__,
            template_folder=['templates/bp', 'another_templates/another_bp'])

        @bp.route('/render_bp_from_templates')
        def render_bp_from_templates():
            return render_template('bp.html', result="succeeds")

        @bp.route('/render_bp_from_another_templates')
        def render_bp_from_another_templates():
            return render_template('another_bp.html', result="succeeds")

        app = Flask(__name__,
                    template_folder=['templates', 'another_templates'])
        MakoTemplates(app)

        @app.route('/render_from_templates')
        def render_from_templates():
            return render_template('template_file.html', result="succeeds")

        @app.route('/render_from_another_templates')
        def render_from_another_templates():
            return render_template('another_template_file.html',
                                   result="succeeds")

        app.register_blueprint(bp)
        self.app = app
        self.client = app.test_client()
Example #5
0
 def test_renderer(self, **kwargs):
     app = Flask(__name__)
     app.template_folder = os.path.join(self.root, "templates")
     app.config.update(MAKO_CACHE_DIR=os.path.join(self.root, "cache"),
                       MAKO_CACHE_SIZE=10)
     app.config.update(kwargs)
     with app.test_request_context():
         yield app, MakoTemplates(app)
Example #6
0
def setup(**kwargs):
    from flask_mako import MakoTemplates

    app.template_folder = "views"
    app.secret_key = config.secret_key
    app.config.update(kwargs)
    mako = MakoTemplates(app)

    _is_setup = True
Example #7
0
        def setUp(self):
            app = Flask(__name__)
            app.debug = True
            babel = Babel(app)
            mako = MakoTemplates(app)
            self.app = app
            self.mako = mako
            self.babel = babel

            @app.route('/')
            def babel_page():
                return render_template('babel_template.html')

            @babel.localeselector
            def get_locale():
                return self.locale
Example #8
0
def create_app(config, init_db=True):
    if init_db:
        create_tables()

    app = Flask(__name__, template_folder='templates')
    MakoTemplates(app)
    app.json_encoder = CustomJSONEncoder
    app.config.from_object(config)

    for bp in all_blueprints:
        import_module(bp.import_name)
        app.register_blueprint(bp)

    sentry.init_app(app)

    return app
Example #9
0
def app_factory() -> Flask:
    """
    Initialise the app. To be called by wsgi.
    """

    app = Flask(__name__)

    app.template_folder = 'templates'
    app.config['CSS_FOLDER'] = 'css'
    app.config['JS_FOLDER'] = 'js'
    app.config['IMAGES_FOLDER'] = 'images'
    app.config['FILES_FOLDER'] = 'files'

    # Register main blueprint
    app.register_blueprint(web_app_blueprint)

    MakoTemplates(app)
    app.config['MAKO_TRANSLATE_EXCEPTIONS'] = True

    return app
Example #10
0
def flaskapp():
    app = Flask(__name__)

    app.env, app.debug = config.flask.env, config.flask.debug

    mako = MakoTemplates(app)

    # 动态注册所有routes下面的模块为blueprint
    for name in all_routes:
        try:
            module = importlib.import_module("portal.routes.{}".format(name))
            if hasattr(module, "blueprint"):
                logger.info("注册Flask路由:{}:{}".format(
                    module.blueprint.name, module.blueprint.url_prefix))
                app.register_blueprint(module.blueprint)
        except Exception as err:
            logger.warning("导入模块:{}失败".format(name), err)

    # 当调用app.run()的时候,用到了Werkzeug库,它会生成一个子进程,当代码有变动的时候它会自动重启
    # 如果在run()里加入参数 use_reloader=False,就会取消这个功能,当然,在以后的代码改动后也不会自动更新了。
    app.run(host=config.flask.host,
            port=config.flask.port,
            use_reloader=config.flask.debug)
Example #11
0
    def setUp(self):
        app = Flask(__name__)
        app.debug = True
        mako = MakoTemplates(app)
        self.app = app
        self.mako = mako

        @app.before_request
        def setup_context():
            g.test_g = "test_g"

        @app.route('/context')
        def context():
            return render_template_string(u"${ g.test_g }")

        @app.route('/templatefile')
        def template_file():
            return render_template('template_file.html', result="succeeds")

        @app.route('/def_file')
        def def_file():
            return render_template_def('def_file.html',
                                       'test_def',
                                       result="This")
Example #12
0
import io, traceback

from flask import Flask, request, g
from flask import send_file
from flask_mako import MakoTemplates, render_template
from plim import preprocessor

from PIL import Image, ExifTags
from scipy.misc import imresize
import numpy as np
from keras.models import load_model
import tensorflow as tf

app = Flask(__name__, instance_relative_config=True)
mako = MakoTemplates(app)
app.config['MAKO_PREPROCESSOR'] = preprocessor
app.config.from_object('config.ProductionConfig')

model = load_model('./model/main_model.hdf5', compile=False)
graph = tf.get_default_graph()


def ml_predict(image):
    with graph.as_default():
        prediction = model.predict(image[None, :, :, :])
    prediction = prediction.reshape((224, 224, -1))
    return prediction


def rotate_by_exif(image):
    try:
Example #13
0
"""
Roshi
~~~~~

Templating plugin.

:copyright: (c) 2017 Derek M. Frank
:license: MPL-2.0

"""
from typing import Optional

from flask_mako import MakoTemplates  # type: ignore

TPL: Optional[MakoTemplates] = MakoTemplates()
def configure_app(mode='debug'):
    MakoTemplates(app)

    debug = mode == 'debug'
    if debug:
        app.env = 'development'
Example #15
0
from flask import Flask, request, jsonify
from flask_mako import MakoTemplates, render_template
from contextlib import contextmanager

from document_processing.document_processor import compile_folder, get_documents, author_stats
from document_processing import SUPPORTED_LANGUAGES

from multiprocessing import Queue


app = Flask(__name__)
app.template_folder = "templates"
app.secret_key = '@4/4PhQQa4..sas56/x56/6hMNq4ss!'

mako = MakoTemplates(app)


@contextmanager
def file_log(name="document_processing", logname='web.log'):
    file_logger = logging.FileHandler(logname, mode='a', encoding=None, delay=False)
    f_logger = logging.getLogger(name)
    f_logger.addHandler(file_logger)
    yield
    f_logger.removeHandler(file_logger)


def wrap(method, queue):
    def _wrapper(arg):
        queue.put('%s: %s' % (time.strftime("%H:%M:%S", time.localtime()), arg))
        method(arg)
Example #16
0
from hashlib import sha1
from flask import Flask
from flask import request
from flask_mako import MakoTemplates
from flask_mako import render_template
from libs.NBAGames import NBAGames
from libs.utils import get_last_modified
from libs.utils import make_response


app = Flask(
        __name__,
        template_folder=config.dir_templ,
        static_folder=config.dir_static
        )
mako = MakoTemplates(app)
_dirdata = config.dir_data
_cache = dict()

@app.route("/")
def index():
    data_page = _render("index.html")

    print type(request.headers)
    print request.headers

    global _cache
    _index_cache = _cache.get("index")
    if not _index_cache:
        _etag = sha1(repr(data_page)).hexdigest()
        _last_modified = get_last_modified("templates/index.html")
Example #17
0
from threading import Thread
from logging import FileHandler, getLogger
from flask import Flask, send_from_directory, request, Response, redirect, make_response, abort
from flask_mako import MakoTemplates, render_template
from werkzeug.routing import BaseConverter
from requestlogger import WSGILogger, ApacheFormatter
from cheroot.wsgi import Server

import trackon
import trackerlist_project

mako = MakoTemplates()
app = Flask(__name__)
app.template_folder = "tpl"
mako.init_app(app)

accepted_hosts = {'localhost:8080', 'localhost', '127.0.0.1', '127.0.0.1:8080'}
canonical_url = 'http://localhost:8080/'


class RegexConverter(BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items[0]


app.url_map.converters['regex'] = RegexConverter
logger = getLogger('trackon_logger')
logger.info('Server started')

Example #18
0
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
"""Flask webpage for performance data."""

import itertools

# pylint: disable=import-error
import flask
from flask_mako import MakoTemplates, render_template
# pylint: enable=import-error

APP = flask.Flask(__name__)
_ = MakoTemplates(APP)

# pylint: disable=bad-whitespace
_BENCHMARKS = [
    ('fill', 'micro-benchmark'),
    ('fill_o', 'micro-benchmark'),
    ('alu2', 'micro-benchmark'),
    ('alu2_o', 'micro-benchmark'),
    ('driver2', 'micro-benchmark'),
    ('driver2_o', 'micro-benchmark'),
    ('manhattan', 'synthetic-benchmark'),
    ('manhattan_o', 'synthetic-benchmark'),
    ('car_chase', 'synthetic-benchmark'),
    ('car_chase_o', 'synthetic-benchmark'),
    ('tess', 'synthetic-benchmark'),
    ('tess_o', 'synthetic-benchmark'),
Example #19
0
#!/usr/bin/python
# -*- coding:utf-8 -*-
import redis
from flask_mako import MakoTemplates
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms import validators
from wtforms import widgets
from const import REDIS_DB, REDIS_PORT, REDIS_HOST

rd = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_DB)
mako = MakoTemplates()
db = SQLAlchemy()
login_manager = LoginManager()
login_manager.login_view = 'login'


class LoginForm(FlaskForm):
    username = StringField(label='用户名',
                           validators=[
                               validators.DataRequired(message='用户名不能为空.'),
                               validators.Length(min=3,
                                                 max=12,
                                                 message='用户名长度3-12'),
                           ],
                           widget=widgets.TextInput(),
                           render_kw={'class': 'form-control'})
    password = PasswordField(label='密码',
                             validators=[
Example #20
0
# -*- coding: utf-8 -*-
"""
Flask app initialization.
"""
from flask import Flask
from flask_mako import MakoTemplates

app = Flask(__name__)  # pylint: disable=invalid-name
MAKO = MakoTemplates(app)