diff --git a/server.py b/server.py index c98b62008f6dd04848854f048e9f6b6f2ef4e6fc..e42c6f9bb726abc10b0104d4cebbdccda87f017e 100755 --- a/server.py +++ b/server.py @@ -7,7 +7,7 @@ import os import hashlib import locale -locale.setlocale(locale.LC_ALL, 'de_DE') +locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') app = Flask(__name__) @@ -94,8 +94,20 @@ def handle_not_found(e): return render_endpoint('index', 'Diese Seite existiert nicht!'), 404 @app.template_filter(name='semester') -def human_semester(s): - return s +def human_semester(s, long=False): + if not s or s == 'zeitlos' or len(s) != 6: + return 'Zeitlos' + year = s[0:4] + semester = s[4:6].upper() + if not year.isdigit() or semester not in ['SS', 'WS']: + print('Invalid semester string "%s"'%s) + return '??' + if not long: + return semester+year[2:] + elif semester == 'SS': + return 'Sommersemester %s'%year + else: + return 'Wintersemester %s/%s'%(year, str(int(year)+1)[2:]) @app.template_filter(name='date') def human_date(d): diff --git a/templates/course.html b/templates/course.html index 61c93b5b20083448973904e8c4ee4d8d86300e1c..196946a939adf5efeca299c6e5b0d98ea6edafbc 100644 --- a/templates/course.html +++ b/templates/course.html @@ -20,7 +20,11 @@ <div class="row panel-group"> <div class="col-xs-12"><div class="panel panel-default"> <div class="panel-heading"> + {% if groupedby == 'semester' %} + <h1 class="panel-title">{{g.grouper|semester(long=True)}}</h1> + {% else %} <h1 class="panel-title">{{g.grouper}}</h1> + {% endif %} </div> <ul class="{% if not ismod() %}courses-list {% endif %}list-group"> {% for i in g.list %}