diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-07-23 00:28:47 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-07-23 00:28:47 +0200 |
commit | 81493afa53a1a1d5ff4b417d05febf9f9e2a172b (patch) | |
tree | 00de0a1bb7c386cff4203aa7b0789569e75347bb /kosten/app/views/__init__.py | |
parent | 6f6c8af2a55fabb69372e3fc4e8504167805d018 (diff) | |
download | kosten-81493afa53a1a1d5ff4b417d05febf9f9e2a172b.tar.gz kosten-81493afa53a1a1d5ff4b417d05febf9f9e2a172b.tar.bz2 kosten-81493afa53a1a1d5ff4b417d05febf9f9e2a172b.zip |
Restructure
Diffstat (limited to 'kosten/app/views/__init__.py')
-rw-r--r-- | kosten/app/views/__init__.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/kosten/app/views/__init__.py b/kosten/app/views/__init__.py new file mode 100644 index 0000000..6b432e8 --- /dev/null +++ b/kosten/app/views/__init__.py @@ -0,0 +1,61 @@ +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 today, templated, redirect, assert_authorisation +from flask import Blueprint, flash + +__all__ = [ + 'db', 'app', + 'current_user', 'login_required', + 'assert_authorisation', 'templated', 'today', 'redirect', + 'Blueprint', 'flash', + 'request', 'url_for' +] + +# check for mobile visitors +mobile_checks = ['J2ME', 'Opera Mini'] + +app.add_template_global(zip) +app.add_template_global(current_user) + +@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 ('%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, user, stats + +app.register_blueprint(expenses.mod) +app.register_blueprint(user.mod, url_prefix='/user') +app.register_blueprint(consts.mod, url_prefix='/const') +app.register_blueprint(categories.mod, url_prefix='/cat') +app.register_blueprint(stats.mod, url_prefix='/stats') + +app.add_url_rule('/', endpoint = 'index', build_only = True) |