summaryrefslogtreecommitdiff
path: root/kosten/app/views/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'kosten/app/views/__init__.py')
-rw-r--r--kosten/app/views/__init__.py61
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)