from flask import render_template, request, url_for import flask from .. import app, db # # Some general imports # from ..login import current_user, login_required from ..utils import templated, redirect from ..flask_extend import Blueprint __all__ = [ "db", "app", "current_user", "login_required", "templated", "redirect", "Blueprint", "request", "url_for" ] # check for mobile visitors mobile_checks = ["J2ME", "Opera Mini"] app.add_template_global(zip) @app.before_request def handle_mobile(): ua = request.environ.get("HTTP_USER_AGENT", "") flask.g.is_mobile = any((x in ua) for x in mobile_checks) @app.template_filter("static_url") def static_url(s, **kwargs): return url_for("static", filename=s, **kwargs) @app.template_filter("eur") def eur(s): return (u"%s EUR" % s) @app.template_filter("date") def format_date(s, format="%Y/%m"): if hasattr(s, "date"): return s.date.strftime(format) else: return s.strftime(format) @app.errorhandler(404) def page_not_found (error): return render_template("404.jinja", page = request.path), 404 # Now import the views from . import categories, consts, expenses, login, api app.register_blueprint(login.mod) app.register_blueprint(expenses.mod) app.register_blueprint(consts.mod, url_prefix="/const") app.register_blueprint(categories.mod, url_prefix="/cat") for m in api.mods: app.register_blueprint(m, url_prefix="/api") app.add_url_rule("/", endpoint = "index", build_only = True)