51 aikataulu = [] |
51 aikataulu = [] |
52 try: |
52 try: |
53 pysäkki = pysäkit[tunniste] |
53 pysäkki = pysäkit[tunniste] |
54 except KeyError: |
54 except KeyError: |
55 abort(404) |
55 abort(404) |
56 for (aika, pysähdys) in pysäkki.schedule(100): |
56 for schedule_entry in pysäkki.schedule(100): |
57 kyltti = supista_reitti(pysähdys.ajo.suppea_reitti(pysähdys)) |
57 sign = supista_reitti(schedule_entry['trip'].suppea_reitti(schedule_entry['stop'])) |
58 kyltti = [tr(paikka, 'paikat') for paikka in kyltti] |
58 sign = [tr(paikka, 'paikat') for paikka in sign] |
59 kylttiesitys = ' - '.join(kyltti) |
59 sign_representation = ' - '.join(sign) |
60 if len(kylttiesitys) > 25: |
60 if len(sign_representation) > 25: |
61 k = ceil(len(kyltti) / 2) |
61 k = ceil(len(sign) / 2) |
62 kylttiesitys = ' - '.join(kyltti[:k]) + '\n' + ' - '.join(kyltti[k:]) |
62 sign_representation = ' - '.join(sign[:k]) + '\n' + ' - '.join(sign[k:]) |
63 aikataulu.append({ |
63 aikataulu.append({ |
64 'aika': muotoile_aika(aika), |
64 'aika': time_representation(schedule_entry['time']), |
65 'linja': pysähdys.ajo.linja.viite, |
65 'linja': schedule_entry['trip'].linja.viite, |
66 'kyltti': kylttiesitys, |
66 'kyltti': sign_representation, |
67 'ajovuoro': pysähdys.ajo.nimi, |
67 'ajovuoro': schedule_entry['stop'].ajo.nimi, |
68 'yö': yö(aika), |
68 'yö': is_night_time(schedule_entry['time']), |
69 }) |
69 }) |
70 return render_template( |
70 return render_template( |
71 'pysäkki.html', |
71 'pysäkki.html', |
72 aikataulu = aikataulu, |
72 aikataulu = aikataulu, |
73 viite = tunniste, |
73 viite = tunniste, |
89 reitti = [] |
89 reitti = [] |
90 suppea_reitti = [] |
90 suppea_reitti = [] |
91 käydyt_alueet = set() |
91 käydyt_alueet = set() |
92 for pysähdys in ajovuoro.reitti: |
92 for pysähdys in ajovuoro.reitti: |
93 aika = datetime.combine(tänään(), time()) + pysähdys.saapumisaika |
93 aika = datetime.combine(tänään(), time()) + pysähdys.saapumisaika |
94 muotoiltu_aika = muotoile_aika(aika) |
94 muotoiltu_aika = time_representation(aika) |
95 reitti.append({ |
95 reitti.append({ |
96 'aika': muotoiltu_aika, |
96 'aika': muotoiltu_aika, |
97 'tunniste': pysähdys.pysäkki.tunniste, |
97 'tunniste': pysähdys.pysäkki.tunniste, |
98 'alue': tr(pysähdys.pysäkki.alue or '', 'paikat'), |
98 'alue': tr(pysähdys.pysäkki.alue or '', 'paikat'), |
99 'nimi': tr(pysähdys.pysäkki.nimi, 'pysäkit'), |
99 'nimi': tr(pysähdys.pysäkki.nimi, 'pysäkit'), |
106 'alue': alue, |
106 'alue': alue, |
107 }) |
107 }) |
108 käydyt_alueet.add(alue) |
108 käydyt_alueet.add(alue) |
109 kyltti = supista_reitti([k['alue'] for k in suppea_reitti], kokonainen = True) |
109 kyltti = supista_reitti([k['alue'] for k in suppea_reitti], kokonainen = True) |
110 sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' |
110 sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' |
111 return render_template(sivu, reitti = reitti, suppea_reitti = suppea_reitti, |
111 return render_template(sivu, |
112 numero = numero, linja = ajovuoro.linja.viite, |
112 reitti = reitti, |
|
113 suppea_reitti = suppea_reitti, |
|
114 numero = numero, |
|
115 linja = ajovuoro.linja.viite, |
113 selite = ' - '.join(tr(paikka, 'paikat') for paikka in kyltti), |
116 selite = ' - '.join(tr(paikka, 'paikat') for paikka in kyltti), |
114 yö = yö(datetime.combine(tänään(), time()) + ajovuoro.reitti[-1].saapumisaika), |
117 yö = time_representation(datetime.combine(tänään(), time()) + ajovuoro.reitti[-1].saapumisaika), |
115 ) |
118 ) |
116 |
119 |
117 @app.route('/static/<path:path>') |
120 @app.route('/static/<path:path>') |
118 def static_file(path): |
121 def static_file(path): |
119 return send_from_directory(path.join('static', path)) |
122 return send_from_directory(path.join('static', path)) |