from jinja2 import Environment, FileSystemLoader from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash app=application=Flask(__name__, template_folder=TEMPLATE_DIR) app.debug=bool(os.environ.get('APP_DEBUG', 'False')) @app.url_value_preprocessor def pull_lang(endpoint, values): if not values: return g.lang=values.pop('lang', None) @app.view('/') def main_index(): redirect(url_for('site_show', lang='en')) @app.view('//site/') @app.view('//site/') def site_show(page=''): # TODO: set content_type @app.view('//meetings/') def meetings_index(): return render_template('meetings/index.html') @app.view('//meetings/') def meetings_show(id): # TODO: implement @app.view('//meetings//raw') def meetings_show_raw(id): # TODO: implement @app.view('//download') def downloads_list(): # TODO: implement @app.view('//download/') def downloads_select(file): # TODO: implement @app.view('/download//any/') @app.view('/download///') def downloads_redirect(protocol, file, mirror=None): # TODO: implement @app.view('//blog/') @app.view('//blog/page/') def blog_index(page=0): # TODO: implement @app.view('//blog/entry/') def blog_entry(slug): # TODO: implement @app.view('/feed/blog/rss') def blog_rss(): # TODO: implement @app.view('/feed/blog/atom') def blog_atom(): # TODO: implement @app.view('/'): def legacy_show(f): # TODO: redirect to correct new url @app.view('/meeting') @app.view('/meeting.html') def legacy_meeting(id): redirect(url_for('meetings_show', id=id, lang='en')) @app.view('/status---') @app.view('/status---.html') def legacy_status(year, month, day): redirect(url_for('blog_entry', lang='en', slug=('%s/%s/%s/status' % (year, month, day))))