# http://flask.pocoo.org/ # FLASK_APP=wradmin FLASK_DEBUG=1 WRADMIN_SETTINGS=development.cfg python3 -m flask run # FLASK_APP=wradmin WRADMIN_SETTINGS=production.cfg python3 -m flask run from flask import Flask, send_from_directory, abort, g from sqlalchemy.engine import create_engine import wradmin.model from wradmin.genshi import render_genshi_template from wradmin.controllers.rodelbahn import RodelbahnController from wradmin.controllers.gasthaus import GasthausController from wradmin.controllers.bericht import BerichtController from wradmin.controllers.coordtool import CoordtoolController app = Flask(__name__) app.config.from_envvar('WRADMIN_SETTINGS') def get_db(): """Opens a new database connection if there is none yet for the current application context. """ if not hasattr(g, 'db'): g.db_engine = create_engine(app.config['DATABASE_URI']) wradmin.model.init_model(g.db_engine) g.db = g.db_engine.connect() return g.db @app.teardown_appcontext def close_db(error): """Closes the database again at the end of the request.""" if hasattr(g, 'db'): g.db.close() @app.route("/") def index(): return render_genshi_template('index.html') @app.route("/rodelbahn/list") def rodelbahn_list(): get_db() return RodelbahnController().list() @app.route("/rodelbahn/view/") def rodelbahn_view(id): get_db() return RodelbahnController().view(id) @app.route("/rodelbahn/update") def rodelbahn_update(): get_db() return RodelbahnController().update() @app.route("/rodelbahn/update_regioncache") def rodelbahn_update_regioncache(): get_db() return RodelbahnController().update_regioncache() @app.route("/bericht/list") def bericht_list(): get_db() return BerichtController().list() @app.route("/bericht/view/") def bericht_view(id): get_db() return BerichtController().view(id) @app.route("/bericht/change_date_invalid/", methods=['POST']) def bericht_change_date_invalid(id): get_db() return BerichtController().view(id) @app.route("/gasthaus/list") def gasthaus_list(): get_db() return GasthausController().list() @app.route("/gasthaus/view/") def gasthaus_view(id): get_db() return GasthausController().view(id) @app.route("/gasthaus/update") def gasthaus_update(): get_db() return GasthausController().update() @app.route("/coordtool/index") def coordtool_index(): return CoordtoolController().index() @app.route("/coordtool/convert", methods=['POST']) def coordtool_convert(): return CoordtoolController().convert()