palvelu.py

changeset 4
312c432bb9e6
parent 3
ca2df60215ff
child 5
a65b680f1774
--- 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

mercurial