palvelu.py

changeset 7
f3791dccfd03
parent 6
88cfb916c852
child 8
d12e8a560faa
--- a/palvelu.py	Sat Jun 10 16:36:36 2017 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-#!/usr/bin/env python3
-from flask import Flask, render_template, abort
-from datetime import datetime, date, time, timedelta
-from misc import *
-import locale
-from bussireitti import supista_reitti
-from configparser import ConfigParser
-
-app = Flask(__name__)
-locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())
-
-kielet = ['fi', 'sv', 'en', 'ru']
-kieli_ini = {}
-for kieli in kielet:
-	ini = ConfigParser()
-	ini.read(kieli + '.ini')
-	kieli_ini[kieli] = ini
-
-def käännä(nimi, osio):
-	kieli = sivun_kieli()
-	try:
-		return kieli_ini[kieli][osio][nimi]
-	except KeyError:
-		return nimi
-
-def sivun_kieli():
-	from flask import request
-	if request.args.get('sv') is not None:
-		return 'sv'
-	elif request.args.get('en') is not None:
-		return 'en'
-	elif request.args.get('ru') is not None:
-		return 'ru'
-	elif request.args.get('kääntämätön') is None:
-		return 'fi'
-	else:
-		return None
-
-@app.route('/pysäkki/<tunniste>')
-def pysäkkiaikataulu(tunniste):
-	from bussit import pysäkit
-	from math import ceil
-	aikataulu = []
-	try:
-		pysäkki = pysäkit[tunniste]
-	except KeyError:
-		abort(404)
-	for (aika, pysähdys) in pysäkki.aikataulu(100):
-		kyltti = supista_reitti(pysähdys.ajo.suppea_reitti(pysähdys))
-		kyltti = [käännä(paikka, 'paikat') for paikka in kyltti]
-		kylttiesitys = ' - '.join(kyltti)
-		if len(kylttiesitys) > 25:
-			k = ceil(len(kyltti) / 2)
-			kylttiesitys = ' - '.join(kyltti[:k]) + '\n' + ' - '.join(kyltti[k:])
-		aikataulu.append({
-			'aika': muotoile_aika(aika),
-			'linja': pysähdys.ajo.linja.viite,
-			'kyltti': kylttiesitys,
-			'ajovuoro': pysähdys.ajo.nimi,
-			'yö': yö(aika),
-		})
-	return render_template(
-		'pysäkki.html',
-		aikataulu = aikataulu,
-		viite = tunniste,
-		nimi = käännä(pysäkki.nimi, 'pysäkit'),
-		linkki_karttaan = pysäkki.linkki_karttaan,
-		alue = pysäkki.alue,
-		sijainti = pysäkki.sijainti,
-	)
-
-@app.route('/ajovuoro/<numero>')
-def ajoreitti(numero):
-	from flask import request
-	from bussit import ajot
-	try:
-		ajovuoro = ajot[numero]
-	except KeyError:
-		abort(404)
-	suppea = request.args.get('suppea') is not None
-	reitti = []
-	suppea_reitti = []
-	käydyt_alueet = set()
-	for pysähdys in ajovuoro.reitti:
-		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,
-			'alue': käännä(pysähdys.pysäkki.alue or '', 'paikat'),
-			'nimi': käännä(pysähdys.pysäkki.nimi, 'pysäkit'),
-		})
-		alue = pysähdys.pysäkki.alue
-		if alue:
-			if alue not in käydyt_alueet:
-				suppea_reitti.append({
-					'aika': muotoiltu_aika,
-					'alue': alue,
-				})
-				käydyt_alueet.add(alue)
-	kyltti = supista_reitti([k['alue'] for k in suppea_reitti], kokonainen = True)
-	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 = ' - '.join(käännä(paikka, 'paikat') for paikka in kyltti),
-						yö = yö(datetime.combine(tänään(), time()) + ajovuoro.reitti[-1].saapumisaika),
-						)
-
-if __name__ == '__main__':
-	from argparse import ArgumentParser
-	parser = ArgumentParser()
-	parser.add_argument('-p', '--port', type = int, default = 5000)
-	args = parser.parse_args()
-	app.run(debug = True, port = args.port)

mercurial