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) |