palvelu.py

changeset 2
48efa8ca14dd
parent 0
fc48613c73e5
child 3
ca2df60215ff
equal deleted inserted replaced
1:22c22ff63e66 2:48efa8ca14dd
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)

mercurial