--- a/palvelu.py Sun Apr 23 11:01:51 2017 +0300 +++ b/palvelu.py Fri May 19 21:15:12 2017 +0300 @@ -1,22 +1,12 @@ #!/usr/bin/env python3 from flask import Flask, render_template, abort from datetime import datetime, date, time, timedelta +from misc import * import locale app = Flask(__name__) locale.setlocale(locale.LC_ALL, locale.getdefaultlocale()) -def muotoile_aika(aika, suhteellinen = True): - erotus = aika - datetime.now() - if suhteellinen and erotus < timedelta(minutes = 30): - return '%dm' % round(erotus.seconds / 60) - elif aika.day == datetime.now().day: - return '%d:%02d' % (aika.hour, aika.minute) - elif erotus < timedelta(7): - return aika.strftime('%-a %H:%M') - else: - return aika.strftime('%-d.%-m. %H:%M') - @app.route('/pysäkki/<tunniste>') def pysäkkiaikataulu(tunniste): from bussit import pysäkit @@ -31,10 +21,11 @@ 'linja': pysähdys.ajo.linja.viite, 'kyltti': pysähdys.ajo.kyltti, 'ajovuoro': pysähdys.ajo.nimi, + 'yö': yö(aika), }) return render_template('pysäkki.html', aikataulu = aikataulu, viite = tunniste, nimi = pysäkki.nimi) -@app.route('/ajovuoro/<int:numero>') +@app.route('/ajovuoro/<numero>') def ajoreitti(numero): from flask import request from bussit import ajot @@ -47,8 +38,8 @@ suppea_reitti = [] käydyt_alueet = set() for pysähdys in ajovuoro.reitti: - aika = datetime.combine(date.today(), time()) + pysähdys.saapumisaika - muotoiltu_aika = muotoile_aika(aika, suhteellinen = False) + aika = datetime.combine(tänään(), time()) + pysähdys.saapumisaika + muotoiltu_aika = muotoile_aika(aika) reitti.append({ 'aika': muotoiltu_aika, 'tunniste': pysähdys.pysäkki.tunniste, @@ -65,7 +56,8 @@ käydyt_alueet.add(alue) sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' return render_template(sivu, reitti = reitti, suppea_reitti = suppea_reitti, - numero = numero, linja = ajovuoro.linja.viite, selite = ajovuoro.kyltti) + numero = numero, linja = ajovuoro.linja.viite, selite = ajovuoro.kyltti, + yö = yö(datetime.combine(tänään(), time()) + ajovuoro.reitti[-1].saapumisaika)) if __name__ == '__main__': from argparse import ArgumentParser