| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # -*- encoding: utf-8 -*-
- """
- Copyright (c) 2019 - present AppSeed.us
- """
- import sys
- from apps.home import blueprint
- from flask import render_template, request
- from flask_login import login_required
- from jinja2 import TemplateNotFound
- from apps.home.modules.utils import *
- from apps.home.modules.mountainbikel import *
- from apps.home.modules.mountainbikel_table import *
- @blueprint.route('/index')
- #@login_required
- def index():
- # return render_template('home/index.html', segment='index')
- csv_file = get_correct_csv_file()
- return render_template(
- 'home/mountainbikel_index.html',
- segment='index',
- **homepage_data(csv_file),
- mosum=json.dumps(
- monthly_sum_barchart_concurrent2(csv_file, 'elevationGain', 1,
- 'Höhenmeter pro Monat', '(m)', 'Jahr', 'Jahr'),
- cls=plotly.utils.PlotlyJSONEncoder), # ** überführt die dict-Werte in named arguments
- distsum=json.dumps(
- monthly_sum_barchart_concurrent2(csv_file, 'distance', 1,
- 'Entfernung pro Monat', '(km)', 'Jahr', 'Jahr'),
- cls=plotly.utils.PlotlyJSONEncoder), # ** überführt die dict-Werte in named arguments
- timesum=json.dumps(
- monthly_sum_barchart_concurrent2(csv_file, 'movingDuration', 1,
- 'Stunden pro Monat', '(h)', 'Jahr', 'Jahr'),
- cls=plotly.utils.PlotlyJSONEncoder), # ** überführt die dict-Werte in named arguments
- )
- @blueprint.route('/table')
- #@login_required
- def table():
- csv_file = get_correct_csv_file()
- df = read_data(csv_file)
- df = mtb_table(df)
- # df = df.reset_index().drop('index', axis=1, errors='ignore')
- return render_template('home/table.html',
- tables=[df.to_html(classes='data')],
- titles=df.columns.values)
- @blueprint.route('/<template>')
- @login_required
- def route_template(template):
- try:
- if not template.endswith('.html'):
- template += '.html'
- # Detect the current page
- segment = get_segment(request)
- # Serve the file (if exists) from app/templates/home/FILE.html
- return render_template("home/" + template, segment=segment)
- except TemplateNotFound:
- return render_template('home/page-404.html'), 404
- except:
- return render_template('home/page-500.html'), 500
- # Helper - Extract current page name from request
- def get_segment(request):
- try:
- segment = request.path.split('/')[-1]
- if segment == '':
- segment = 'index'
- return segment
- except:
- return None
|