36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
|
from flask import Flask, Blueprint, redirect, url_for, render_template, abort
|
||
|
from werkzeug.wrappers import Response
|
||
|
from rfcartography.search import search
|
||
|
from rfcartography.details import details
|
||
|
|
||
|
|
||
|
def register_routers(app: Flask) -> None:
|
||
|
@app.route('/imprint')
|
||
|
def imprint() -> tuple[str, int]:
|
||
|
if not 'IMPRINT' in app.config:
|
||
|
abort(404)
|
||
|
content: dict = {'title': 'Imprint',
|
||
|
'content': app.config['IMPRINT']}
|
||
|
return render_template('generic.html', **content), 200
|
||
|
|
||
|
@app.route('/privacy')
|
||
|
def privacy() -> tuple[str, int]:
|
||
|
if not 'PRIVACY' in app.config:
|
||
|
abort(404)
|
||
|
content: dict = {'title': 'Privacy',
|
||
|
'content': app.config['PRIVACY']}
|
||
|
return render_template('generic.html', **content), 200
|
||
|
|
||
|
# answer favicon requests
|
||
|
@app.route('/favicon.ico')
|
||
|
def favicon() -> Response:
|
||
|
return redirect(url_for('static', filename='favicon.svg'))
|
||
|
|
||
|
static = Blueprint('static',
|
||
|
__name__,
|
||
|
static_folder='static')
|
||
|
app.register_blueprint(static)
|
||
|
app.register_blueprint(search)
|
||
|
app.register_blueprint(details)
|
||
|
return
|