38 lines
877 B
Python
38 lines
877 B
Python
import flask
|
|
import settings
|
|
import traceback
|
|
yt_app = flask.Flask(__name__)
|
|
yt_app.url_map.strict_slashes = False
|
|
|
|
|
|
yt_app.add_url_rule('/settings', 'settings_page', settings.settings_page, methods=['POST', 'GET'])
|
|
|
|
@yt_app.route('/')
|
|
def homepage():
|
|
return flask.render_template('home.html', title="Youtube local")
|
|
|
|
|
|
theme_names = {
|
|
0: 'light_theme',
|
|
1: 'gray_theme',
|
|
2: 'dark_theme',
|
|
}
|
|
|
|
@yt_app.context_processor
|
|
def inject_theme_preference():
|
|
return {
|
|
'theme_path': '/youtube.com/static/' + theme_names[settings.theme] + '.css',
|
|
}
|
|
|
|
@yt_app.template_filter('commatize')
|
|
def commatize(num):
|
|
if num is None:
|
|
return ''
|
|
if isinstance(num, str):
|
|
num = int(num)
|
|
return '{:,}'.format(num)
|
|
|
|
@yt_app.errorhandler(500)
|
|
def error_page(e):
|
|
return flask.render_template('error.html', traceback=traceback.format_exc()), 500
|