59 def sign(schedule_entry): |
59 def sign(schedule_entry): |
60 from math import ceil |
60 from math import ceil |
61 sign = supista_reitti(schedule_entry['trip'].suppea_reitti(schedule_entry['stop'])) |
61 sign = supista_reitti(schedule_entry['trip'].suppea_reitti(schedule_entry['stop'])) |
62 sign = [tr(paikka, 'paikat') for paikka in sign] |
62 sign = [tr(paikka, 'paikat') for paikka in sign] |
63 sign_representation = ' - '.join(sign) |
63 sign_representation = ' - '.join(sign) |
64 if len(sign_representation) > 25: |
64 #if len(sign_representation) > 25: |
65 k = ceil(len(sign) / 2) |
65 # k = ceil(len(sign) / 2) |
66 sign_representation = ' - '.join(sign[:k]) + '\n' + ' - '.join(sign[k:]) |
66 # sign_representation = ' - '.join(sign[:k]) + '\n' + ' - '.join(sign[k:]) |
67 return sign_representation |
67 return sign_representation |
68 |
68 |
69 @app.route('/pysäkki/<tunniste>') |
69 @app.route('/pysäkki/<tunniste>') |
70 def pysäkkiaikataulu(tunniste): |
70 def pysäkkiaikataulu(tunniste): |
71 from buses import pysäkit |
71 from buses import pysäkit |
87 aikataulu = aikataulu, |
87 aikataulu = aikataulu, |
88 nimi = tunniste + ' ' + tr(pysäkki.nimi, 'pysäkit'), |
88 nimi = tunniste + ' ' + tr(pysäkki.nimi, 'pysäkit'), |
89 linkki_karttaan = pysäkki.sijainti.link_to_map, |
89 linkki_karttaan = pysäkki.sijainti.link_to_map, |
90 alue = pysäkki.alue, |
90 alue = pysäkki.alue, |
91 sijainti = pysäkki.sijainti, |
91 sijainti = pysäkki.sijainti, |
92 cluster = pysäkki.cluster.name if len(pysäkki.cluster.stops) > 1 else None, |
92 cluster = pysäkki.cluster.url_name if len(pysäkki.cluster.stops) > 1 else None, |
93 tr = tr, |
93 tr = tr, |
94 ) |
94 ) |
95 |
95 |
96 def time_representation(aika, suhteellinen = True): |
96 def time_representation(aika, suhteellinen = True): |
97 erotus = aika - nyt() |
97 erotus = aika - nyt() |
98 if suhteellinen and erotus < timedelta(minutes = 1): |
98 if suhteellinen and erotus > timedelta(0) and erotus < timedelta(minutes = 1): |
99 return tr('right-now', 'misc-text') |
99 return tr('right-now', 'misc-text') |
100 elif suhteellinen and erotus < timedelta(minutes = 10): |
100 elif suhteellinen and erotus > timedelta(0) and erotus < timedelta(minutes = 10): |
101 return '%dm' % round(erotus.seconds / 60) |
101 return '%dm' % round(erotus.seconds / 60) |
102 elif aika.date() == tänään(): |
102 elif aika.date() == tänään(): |
103 return '%d:%02d' % (aika.hour, aika.minute) |
103 return '%d:%02d' % (aika.hour, aika.minute) |
104 elif erotus < timedelta(7): |
104 elif erotus < timedelta(7): |
105 with activate_locale(): |
105 with activate_locale(): |
127 'stop_name': tr(schedule_entry['stop'].pysäkki.nimi, 'pysäkit'), |
127 'stop_name': tr(schedule_entry['stop'].pysäkki.nimi, 'pysäkit'), |
128 }) |
128 }) |
129 return render_template( |
129 return render_template( |
130 'cluster.html', |
130 'cluster.html', |
131 aikataulu = aikataulu, |
131 aikataulu = aikataulu, |
132 nimi = 'Yhdistetty pysäkkiaikataulu ' + cluster_name, |
132 nimi = cluster.name, |
133 linkki_karttaan = cluster.center.link_to_map, |
133 linkki_karttaan = cluster.center.link_to_map, |
134 sijainti = cluster.center, |
134 sijainti = cluster.center, |
135 stops_in_cluster = sorted( |
135 stops_in_cluster = sorted( |
136 ({ |
136 ({ |
137 'id': stop.tunniste, |
137 'id': stop.tunniste, |
166 alue = pysähdys.pysäkki.alue |
166 alue = pysähdys.pysäkki.alue |
167 if alue: |
167 if alue: |
168 if alue not in käydyt_alueet: |
168 if alue not in käydyt_alueet: |
169 suppea_reitti.append({ |
169 suppea_reitti.append({ |
170 'aika': muotoiltu_aika, |
170 'aika': muotoiltu_aika, |
171 'alue': alue, |
171 'alue': tr(alue or '', 'paikat'), |
172 }) |
172 }) |
173 käydyt_alueet.add(alue) |
173 käydyt_alueet.add(alue) |
174 kyltti = supista_reitti([k['alue'] for k in suppea_reitti], kokonainen = True) |
174 kyltti = supista_reitti([k['alue'] for k in suppea_reitti], kokonainen = True) |
|
175 kyltti = [kyltti[0], kyltti[-1]] |
175 sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' |
176 sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' |
176 return render_template(sivu, |
177 return render_template(sivu, |
177 reitti = reitti, |
178 reitti = reitti, |
178 suppea_reitti = suppea_reitti, |
179 suppea_reitti = suppea_reitti, |
179 numero = numero, |
180 numero = numero, |