forget-cancellare-vecchi-toot/routes/misc.py

66 lines
1.6 KiB
Python

from app import app, db, sentry
from flask import g, render_template, make_response, redirect, request
import version
import libforget.version
from libforget.auth import get_viewer_session, set_session_cookie
@app.before_request
def load_viewer():
g.viewer = get_viewer_session()
if g.viewer and sentry:
sentry.user_context({
'id': g.viewer.account.id,
'username': g.viewer.account.screen_name,
'service': g.viewer.account.service
})
@app.context_processor
def inject_version():
v = version.get_versions()
return dict(
version=v['version'],
repo_url=libforget.version.url_for_version(v),
)
@app.context_processor
def inject_sentry():
if sentry:
return dict(sentry=True)
return dict()
@app.after_request
def touch_viewer(resp):
if 'viewer' in g and g.viewer:
set_session_cookie(g.viewer, resp, app.config.get('HTTPS'))
g.viewer.touch()
db.session.commit()
return resp
@app.errorhandler(404)
def not_found(e):
return (render_template('404.html', e=e), 404)
@app.errorhandler(500)
def internal_server_error(e):
if request.endpoint and request.endpoint.startswith('api_'):
return e.get_response()
return (render_template('500.html', e=e), 500)
@app.route('/robots.txt')
def robotstxt():
resp = make_response('')
resp.headers.set('content-type', 'text/plain')
return resp
@app.route('/humans.txt')
def humanstxt():
return redirect('https://github.com/codl/forget/graph/contributors')