Example #1
0
def create_app():
    '''
    Create an instance of the app.
    '''
    app = Flask(__name__, template_folder="templates")

    ordbok = FlaskOrdbok(app)
    ordbok.load()

    app.config.update(ordbok)
    #app.config.update(config or {})

    app.register_blueprint(views)

    babel.init_app(app)
    cache.init_app(app)
    csrf.init_app(app)
    mail.init_app(app)
    bcrypt.init_app(app)
    #security.init_app(app, bcrypt)
    s3.init_app(app)
    configure_uploads(app, (photos))

    # Setup Flask-Security
    user_datastore = SQLAlchemyUserDatastore(db, User, Role)
    security.init_app(app, datastore=user_datastore)

    db.init_app(app)
    #login_manager.init_app(app)
    assets.init_app(app)

    app.jinja_env.filters['slug'] = lambda x: slugify(x).lower()
    app.jinja_env.filters['noop'] = lambda x: ''

    # Constant that should be available for all templates.
    app.jinja_env.globals['ORG_TYPES'] = ORG_TYPES
    app.jinja_env.globals['CONTENT'] = CONTENT
    app.jinja_env.globals['NOI_COLORS'] = NOI_COLORS
    app.jinja_env.globals['LEVELS'] = LEVELS
    app.jinja_env.globals['DOMAINS'] = DOMAINS
    app.jinja_env.globals['QUESTIONS_BY_ID'] = QUESTIONS_BY_ID

    return app
Example #2
0
# App imports
import managers.metadata
#import language.LANG_AEME as LANG
# Convert the module variables to a JSON string to send to the template
#language = json.dumps({key: value for key, value in LANG.__dict__.iteritems() if not (key.startswith('__') or key.startswith('_') or key.islower())})

# Define the WSGI application object
app = Flask(__name__)
#app = Flask(__name__, instance_relative_config=True)
application = app # our hosting requires application in passenger_wsgi

# Configurations
from ordbok.flask_helper import FlaskOrdbok

ordbok = FlaskOrdbok(app)
ordbok.load()
app.config.update(ordbok)

 # Sample HTTP error handling
@app.errorhandler(404)
def not_found(error):
    return render_template('404.html'), 404

# Build Menu
def buildMenu():
	config = app.config
	site = config["SITE_URL"]
	menu = config["MENU"]
	menu_str = '<ul id="menu-list" class="nav navbar-nav">'
	menu_str += '<li><a href="'+site+'">Home <span class="sr-only">(current)</span></a></li>'
Example #3
0
from os import environ
from flask import Flask
from flask_rq2 import RQ
from flask_restful import Api
from ordbok.flask_helper import FlaskOrdbok
from docsbox.logs import GraylogLogger

app = Flask(__name__)   
ordbok = FlaskOrdbok()

ordbok.init_app(app)
ordbok.load()
app.config.update(ordbok)

REDIS_URL = environ.get("REDIS_URL", app.config["REDIS_URL"])

app.config.update({
    "REDIS_URL": REDIS_URL,
    "RQ_REDIS_URL": REDIS_URL,
    "VIA_URL": environ.get("VIA_URL", app.config["VIA_URL"]),
    "VIA_CERT_PATH": environ.get("VIA_CERT_PATH", app.config["VIA_CERT_PATH"]),
    "VIA_ALLOWED_USERS": environ.get("VIA_ALLOWED_USERS", app.config["VIA_ALLOWED_USERS"]),
    "GRAYLOG_HOST": environ.get("GRAYLOG_HOST", app.config["GRAYLOG_HOST"]),
    "GRAYLOG_PORT": environ.get("GRAYLOG_PORT", app.config["GRAYLOG_PORT"]),
    "GRAYLOG_PATH": environ.get("GRAYLOG_PATH", app.config["GRAYLOG_PATH"]),
    "GRAYLOG_SOURCE": environ.get("GRAYLOG_SOURCE", app.config["GRAYLOG_SOURCE"])
    })

api = Api(app)
rq = RQ(app)
if app.config["GRAYLOG_HOST"]:
Example #4
0
 def setUp(self):
     self.app = Flask(__name__)
     self.ordbok = FlaskOrdbok(app=self.app)
Example #5
0
 def setUp(self):
     self.app = Flask(os.getcwd())  # fudged files think they are in cwd
     self.ordbok = FlaskOrdbok(app=self.app)
Example #6
0
class FlaskOrdbokTestCase(OrdbokTestCase):
    def setUp(self):
        self.app = Flask(os.getcwd())  # fudged files think they are in cwd
        self.ordbok = FlaskOrdbok(app=self.app)

    @fudge.patch('six.moves.builtins.open')
    def test_flask_config_update(self, fudged_open):
        fudged_open.is_callable().calls(fake_file_factory(fudged_config_files))
        self.ordbok.load()
        self.app.config.update(self.ordbok)
        self.assertEquals(self.app.config['ENVIRONMENT'], 'development')
        self.assertEquals(self.app.config['SECRET_KEY'], 'keep out!')
        self.assertTrue(self.app.config['DEBUG'])
        self.assertEquals(self.app.config['SQLALCHEMY_DATABASE_URL'],
                          'sqlite:///tmp/database.db')
        self.assertTrue(self.app.config['SQLALCHEMY_ECHO'])

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader(self, fudged_flask_run):
        self.ordbok.load()
        self.app.debug = True
        self.ordbok.app_run(self.app)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with(
            extra_files=self.ordbok.config_file_names)

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader_debug_off(self, fudged_flask_run):
        self.ordbok.load()
        self.ordbok.app_run(self.app)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with()  # no extra files

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader_use_reloader_false(self, fudged_flask_run):
        self.ordbok.load()
        self.ordbok.app_run(self.app, use_reloader=False)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with(
            use_reloader=False)  # no extra files
Example #7
0
 def setUp(self):
     self.app = Flask(os.getcwd())  # fudged files think they are in cwd
     self.ordbok = FlaskOrdbok(app=self.app)
Example #8
0
class FlaskOrdbokTestCase(OrdbokTestCase):
    def setUp(self):
        self.app = Flask(os.getcwd())  # fudged files think they are in cwd
        self.ordbok = FlaskOrdbok(app=self.app)

    @fudge.patch('six.moves.builtins.open')
    def test_flask_config_update(self, fudged_open):
        fudged_open.is_callable().calls(fake_file_factory(fudged_config_files))
        self.ordbok.load()
        self.app.config.update(self.ordbok)
        self.assertEquals(self.app.config['ENVIRONMENT'], 'development')
        self.assertEquals(self.app.config['SECRET_KEY'], 'keep out!')
        self.assertTrue(self.app.config['DEBUG'])
        self.assertEquals(self.app.config['SQLALCHEMY_DATABASE_URL'],
                          'sqlite:///tmp/database.db')
        self.assertTrue(self.app.config['SQLALCHEMY_ECHO'])

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader(self, fudged_flask_run):
        self.ordbok.load()
        self.app.debug = True
        self.ordbok.app_run(self.app)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with(
            extra_files=self.ordbok.config_file_names)

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader_debug_off(self, fudged_flask_run):
        self.ordbok.load()
        self.ordbok.app_run(self.app)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with()  # no extra files

    @mock.patch.object(Flask, 'run')
    def test_flask_reloader_use_reloader_false(self, fudged_flask_run):
        self.ordbok.load()
        self.ordbok.app_run(self.app, use_reloader=False)
        fudged_flask_run.assert_called()
        fudged_flask_run.assert_called_with(use_reloader=False)  # no extra files