| 31 }) |
31 }) |
| 32 return render_template('pysäkki.html', aikataulu = aikataulu, viite = tunniste, nimi = pysäkki.nimi) |
32 return render_template('pysäkki.html', aikataulu = aikataulu, viite = tunniste, nimi = pysäkki.nimi) |
| 33 |
33 |
| 34 @app.route('/ajovuoro/<int:numero>') |
34 @app.route('/ajovuoro/<int:numero>') |
| 35 def ajoreitti(numero): |
35 def ajoreitti(numero): |
| |
36 from flask import request |
| 36 from bussit import ajot |
37 from bussit import ajot |
| 37 ajovuoro = ajot[numero] |
38 ajovuoro = ajot[numero] |
| |
39 suppea = request.args.get('suppea') is not None |
| 38 reitti = [] |
40 reitti = [] |
| |
41 suppea_reitti = [] |
| |
42 käydyt_alueet = set() |
| 39 for pysähdys in ajovuoro.reitti: |
43 for pysähdys in ajovuoro.reitti: |
| 40 aika = datetime.combine(date.today(), time()) + pysähdys.saapumisaika |
44 aika = datetime.combine(date.today(), time()) + pysähdys.saapumisaika |
| |
45 muotoiltu_aika = muotoile_aika(aika, suhteellinen = False) |
| 41 reitti.append({ |
46 reitti.append({ |
| 42 'aika': muotoile_aika(aika, suhteellinen = False), |
47 'aika': muotoiltu_aika, |
| 43 'tunniste': pysähdys.pysäkki.tunniste, |
48 'tunniste': pysähdys.pysäkki.tunniste, |
| |
49 'alue': pysähdys.pysäkki.alue, |
| 44 'nimi': pysähdys.pysäkki.nimi, |
50 'nimi': pysähdys.pysäkki.nimi, |
| 45 }) |
51 }) |
| 46 return render_template('ajovuoro.html', reitti = reitti, numero = numero, |
52 alue = pysähdys.pysäkki.alue |
| 47 linja = ajovuoro.linja.viite, selite = ajovuoro.kyltti) |
53 if alue: |
| |
54 if alue not in käydyt_alueet: |
| |
55 suppea_reitti.append({ |
| |
56 'aika': muotoiltu_aika, |
| |
57 'alue': alue |
| |
58 }) |
| |
59 käydyt_alueet.add(alue) |
| |
60 sivu = suppea and 'ajovuoro-suppea.html' or 'ajovuoro.html' |
| |
61 return render_template(sivu, reitti = reitti, suppea_reitti = suppea_reitti, |
| |
62 numero = numero, linja = ajovuoro.linja.viite, selite = ajovuoro.kyltti) |
| 48 |
63 |
| 49 if __name__ == '__main__': |
64 if __name__ == '__main__': |
| 50 app.run(debug = True) |
65 from argparse import ArgumentParser |
| |
66 parser = ArgumentParser() |
| |
67 parser.add_argument('-p', '--port', type = int, default = 5000) |
| |
68 args = parser.parse_args() |
| |
69 app.run(debug = True, port = args.port) |