def configure_extensions(app): # flask-sqlalchemy db.init_app(app) # flask-cache cache.init_app(app) # flask-babel babel = Babel(app) @babel.localeselector def get_locale(): if current_user.is_authenticated(): return current_user.locale accept_languages = app.config.get('ACCEPT_LANGUAGES') return request.accept_languages.best_match(accept_languages) # flask-login login_manager.login_view = 'frontend.login' login_manager.refresh_view = 'frontend.reauth' @login_manager.user_loader def load_user(id): return User.query.get(id) login_manager.setup_app(app) # flask-openid oid.init_app(app)
def configure_extensions(app): # flask-sqlalchemy db.init_app(app) # flask-mail mail.init_app(app) # flask-cache cache.init_app(app) # flask-babel babel = Babel(app) @babel.localeselector def get_locale(): return request.accept_languages.best_match(DefaultConfig.LANGUAGES) # flask-login login_manager.login_view = 'frontend.login' login_manager.refresh_view = 'frontend.reauth' @login_manager.user_loader def load_user(id): return User.query.get(id) login_manager.setup_app(app) # flask-openid oid.init_app(app)
def configure_extensions(app): # sqlalchemy db.init_app(app) # mail mail.init_app(app) # cache cache.init_app(app) # babel babel = Babel(app) @babel.localeselector def get_locale(): accept_languages = app.config.get('ACCEPT_LANGUAGES') return request.accept_languages.best_match(accept_languages) # login. login_manager.login_view = 'account.login' login_manager.refresh_view = 'account.reauth' @login_manager.user_loader def load_user(id): return User.query.get(int(id)) login_manager.setup_app(app)
def configure_i18n(app): babel = Babel(app) @babel.localeselector def get_locale(): accept_languages = app.config.get('ACCEPT_LANGUAGES', ['en', 'zh']) return request.accept_languages.best_match(accept_languages)
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
def create_app(): """ Create your application. Files outside the app directory can import this function and use it to recreate your application -- both bootstrap.py and the `tests` directory do this. """ app = Flask(__name__) app.config.from_object(settings) babel = Babel(app, configure_jinja=True) babel.localeselector(_localeselector) babel.timezoneselector(_timezoneselector) app.register_module(views) app.register_module(rpc) app.register_module(tasks) app.secret_key = settings.secret_key return app
################### # Application setup class MyFlask(Flask): jinja_options = dict(Flask.jinja_options) jinja_options.setdefault( 'extensions', []).append('i2p2www.extensions.HighlightExtension') app = application = MyFlask('i2p2www', template_folder=TEMPLATE_DIR, static_url_path='/_static', static_folder=STATIC_DIR) app.debug = bool(os.environ.get('APP_DEBUG', 'False')) babel = Babel(app, default_domain=DEFAULT_GETTEXT_DOMAIN) cache = Cache(app, config=CACHE_CONFIG) ################# # Babel selectors @babel.localeselector def get_locale(): # If viewing specs, require English if request.path.startswith('/spec'): return 'en' # If the language is already set from the url, use that if hasattr(g, 'lang'): return g.lang # otherwise try to guess the language from the user accept
from flaskext.login import LoginManager from flaskext.cache import Cache from flaskext.uploads import UploadSet, IMAGES, configure_uploads from blinker import Namespace import setting import sys app = Flask(__name__) app.config.from_object(setting) app.debug = True toolbar = DebugToolbarExtension(app) mail = Mail(app) babel = Babel(app) cache = Cache(app) #db = SQLAlchemy(app) principals = Principal(app) login_manager = LoginManager() login_manager.setup_app(app) userimage = UploadSet('userimage', IMAGES) configure_uploads(app, (userimage)) # setting # fix issue of unicode reload(sys) sys.setdefaultencoding("utf-8") # fix issue of forerign_keys problem for SQLite #db.session.execute('PRAGMA foreign_keys=ON;')
# infrastructure and the server's infrastructure is almost always a bad idea. class ProxyFixupHelper(object): def __init__(self, app): self.app = app def __call__(self, environ, start_response): # Only perform this fixup if the current remote host is localhost. if environ['REMOTE_ADDR'] == '127.0.0.1': host = environ.get('HTTP_X_REAL_IP', False) if host: environ['REMOTE_ADDR'] = host return self.app(environ, start_response) # Flask Extensions babel = Babel() cache = Cache() # SQL ORM Missive: # # Don't use models to automatically generate schemas. After iterating several # times with SQLAlchemy (and nearly every other ORM from frameworks both long # since dead and still trendy), to get a schema "just right" requires # entirely too much fiddling in the ORM. My hard earned lesson: SQL is the # right dialect to describe your database's structure (read: do not use an # ORM to generate DDL). Other than portability, what's the advantage of # describing your schema in SQLAlchemy? # # For as fantastic as SQLAlchemy is, using SQLAlchemy to generate schema is # the equivalent of giving yourself a lobotomy while in the middle of # attempting to write a Pulitzer Prize article. Why handicap yourself? Use
def configure_extensions(app): # flask-sqlalchemy db.init_app(app) # flask-mail mail.init_app(app) # flask-cache cache.init_app(app) # flask-babel babel = Babel(app) @babel.localeselector def get_locale(): override = request.args.get('lang') if override: session['lang'] = override return session.get('lang', 'en') else: accept_languages = app.config.get('ACCEPT_LANGUAGES') return request.accept_languages.best_match(accept_languages) # flask-login login_manager.login_view = 'frontend.login' login_manager.refresh_view = 'frontend.reauth' @login_manager.user_loader def load_user(id): return User.query.get(id) login_manager.setup_app(app) # flask-admin admin = Admin() # Setup locale admin.locale_selector(get_locale) # Views # Model admin admin.add_view( ModelView(User, db.session, endpoint='usermodel', category='Model')) admin.add_view( ModelView(UserDetail, db.session, endpoint='userdetailmodel', category='Model')) admin.add_view( ModelView(UserRole, db.session, endpoint='rolemodel', category='Model')) # File admin path = os.path.join(os.path.dirname(__file__), 'static/img/users') # Create directory if existed. try: os.mkdir(path) except OSError: pass admin.add_view( FileAdmin(path, '/static/img/users', endpoint='useravatar', name='User Avatars', category='Image')) admin.init_app(app)
def i18n_init(app): """ initialize Flask-Babel """ babel = Babel(app) babel.localeselector(get_locale) babel.timezoneselector(get_timezone)
def translations(): babel = Babel(current_app) languages = babel.list_translations() return render_template('admin/translations.html',languages = languages)
def translations(): babel = Babel(current_app) languages = babel.list_translations() return render_template('admin/translations.html', languages=languages)
import gettext from threading import Lock from flask import Flask, render_template, session, redirect, url_for, \ request, abort, jsonify from flaskext.babel import Babel import flaskext.babel from jinja2 import Markup root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) app = Flask(__name__) app.jinja_env.add_extension('jinja2.ext.i18n') app.babel_translations_dict = {} app.babel_translations_lock = Lock() babel = Babel(app, configure_jinja=False) app.secret_key = "".join(chr(random.randint(0, 255)) for _ in xrange(32)) sys.path.append(root_dir) from domination.gameengine import DominationGame, CardTypeRegistry, Player,\ GameRunner, DebugRequest, SelectDeal, SelectHandCards, SelectCard,\ YesNoQuestion, Question, MultipleChoice, card_sets, editions, \ AIPlayer, Kibitzer, FRESH, ENDED, RUNNING, STATES, TLS from domination.tools import _, get_translations, ngettext from domination.gzip_middleware import GzipMiddleware # monkeypatch flask-babel flaskext.babel.get_translations = get_translations AI_NAMES = ['Alan', 'Grace', 'Linus', 'Guido', 'Konrad', 'Donald',
def create_app(path_to_notebook, *args, **kwds): """ This is the main method to create a running notebook. This is called from the process spawned in run_notebook.py """ global notebook startup_token = kwds.pop('startup_token', None) ############# # OLD STUFF # ############# import sagenb.notebook.notebook as notebook notebook.MATHJAX = True notebook = notebook.load_notebook(path_to_notebook, *args, **kwds) init_updates() ############## # Create app # ############## app = SageNBFlask('flask_server', startup_token=startup_token) app.secret_key = os.urandom(24) oid.init_app(app) app.debug = True @app.before_request def set_notebook_object(): g.notebook = notebook #################################### # create Babel translation manager # #################################### babel = Babel(app, default_locale=notebook.conf()['default_language'], default_timezone='UTC', date_formats=None, configure_jinja=True) ######################## # Register the modules # ######################## app.register_blueprint(base) from worksheet_listing import worksheet_listing app.register_blueprint(worksheet_listing) from admin import admin app.register_blueprint(admin) from authentication import authentication app.register_blueprint(authentication) from doc import doc app.register_blueprint(doc) from worksheet import ws as worksheet app.register_blueprint(worksheet) from settings import settings app.register_blueprint(settings) #autoindex v0.3 doesnt seem to work with modules #routing with app directly does the trick #TODO: Check to see if autoindex 0.4 works with modules idx = AutoIndex(app, browse_root=SRC, add_url_rules=False) @app.route('/src/') @app.route('/src/<path:path>') @guest_or_login_required def autoindex(path='.'): filename = os.path.join(SRC, path) if os.path.isfile(filename): from cgi import escape src = escape(open(filename).read().decode('utf-8','ignore')) if (os.path.splitext(filename)[1] in ['.py','.c','.cc','.h','.hh','.pyx','.pxd']): return render_template(os.path.join('html', 'source_code.html'), src_filename=path, src=src, username = g.username) return src return idx.render_autoindex(path) return app
def configure_i18n(app, locale): babel = Babel(app) @babel.localeselector def get_locale(): return locale
A raspberry web application for audio broadcasting and more. :copyright: (c) 2013 by Sebastian Reimers. :license: BSD 2-Clause, see LICENSE for more details. """ from flask import Flask, render_template from flask.ext.bootstrap import Bootstrap import alsaaudio from subprocess import Popen, PIPE, STDOUT from flaskext.babel import Babel app = Flask(__name__) Bootstrap(app) app.config['BOOTSTRAP_USE_CDN'] = True Babel(app) #Loading settings app.config.from_object('settings') @app.route('/') def index(): p = Popen('uptime', stdout=PIPE, stderr=STDOUT, close_fds=True) uptime = p.stdout.read() return render_template('index.html', uptime=uptime) @app.route('/openob') def openob(): return render_template('openob.html')