4 from datetime import date, time, datetime, timedelta |
4 from datetime import date, time, datetime, timedelta |
5 from misc import * |
5 from misc import * |
6 Suunta = enum.Enum('Suunta', [('Taaksepäin', 0), ('Eteenpäin', 1)]) |
6 Suunta = enum.Enum('Suunta', [('Taaksepäin', 0), ('Eteenpäin', 1)]) |
7 |
7 |
8 def muunna_ajovuoro_tunniste(tunniste): |
8 def muunna_ajovuoro_tunniste(tunniste): |
9 return int(tunniste.split('_')[0]) |
9 return tunniste |
10 |
10 |
11 class Ajovuoro: |
11 class Ajovuoro: |
12 def __init__(self, tunniste, linja, palvelu, kyltti, suunta): |
12 def __init__(self, tunniste, linja, palvelu, kyltti, suunta): |
13 self.tunniste, self.linja, self.palvelu, self.kyltti, self.suunta = tunniste, linja, \ |
13 self.tunniste, self.linja, self.palvelu, self.kyltti, self.suunta = tunniste, linja, \ |
14 palvelu, kyltti, suunta |
14 palvelu, kyltti, suunta |
76 # päätepysäkille, |
76 # päätepysäkille, |
77 pysähdys = ajo.pysäkkiReitillä(self) |
77 pysähdys = ajo.pysäkkiReitillä(self) |
78 if pysähdys and pysähdys is not ajo.reitti[-1]: |
78 if pysähdys and pysähdys is not ajo.reitti[-1]: |
79 # ja jos tämä pysähdys on tulevaisuudessa, |
79 # ja jos tämä pysähdys on tulevaisuudessa, |
80 aika = datetime.combine(päivä, time()) + pysähdys.saapumisaika |
80 aika = datetime.combine(päivä, time()) + pysähdys.saapumisaika |
81 if aika >= datetime.now(): |
81 if aika >= nyt(): |
82 # lisää pysähdys listaan. |
82 # lisää pysähdys listaan. |
83 taulu.append((aika, pysähdys)) |
83 taulu.append((aika, pysähdys)) |
84 # Lajittele lopputulos saapumisajan mukaan. |
84 # Lajittele lopputulos saapumisajan mukaan. |
85 taulu.sort(key = lambda tietue: tietue[0]) |
85 taulu.sort(key = lambda tietue: tietue[0]) |
86 return taulu |
86 return taulu |
87 taulu = [] |
87 taulu = [] |
88 päivä = date.today() |
88 päivä = tänään() |
89 # Niin kauan kuin aikatauluja ei ole vielä tarpeeksi, |
89 # Niin kauan kuin aikatauluja ei ole vielä tarpeeksi, |
90 while len(taulu) < määrä: |
90 while len(taulu) < määrä: |
91 try: |
91 try: |
92 # hae nykyisen päivän aikataulut ja lisää ne, |
92 # hae nykyisen päivän aikataulut ja lisää ne, |
93 taulu += aikataulu_päivänä(päivä) |
93 taulu += aikataulu_päivänä(päivä) |