busroute.py

changeset 12
a47c9bde457d
parent 7
f3791dccfd03
child 13
55241f0e1079
equal deleted inserted replaced
11:e18ad36fbbf5 12:a47c9bde457d
1 #!/usr/bin/env python3 1 #!/usr/bin/env python3
2 def supista_reitti(reitti, kokonainen = False): 2 def supista_reitti(reitti, kokonainen = False):
3 def abstract_sign(sign):
4 abstractions = {
5 'Moikoinen': 'Hirvensalo',
6 'Maanpää': 'Hirvensalo',
7 'Papinsaari': 'Hirvensalo',
8 'Häppilä': 'Hirvensalo',
9 'Friskala': 'Hirvensalo',
10 'Kukola': 'Hirvensalo',
11 'Oriniemi': 'Hirvensalo',
12 'Haarla': 'Hirvensalo',
13 'Lauttasaari': 'Hirvensalo',
14 'Pikisaari': 'Hirvensalo',
15 'Ylioppilaskylä': 'Nummi',
16 'Verkahovi': 'Nummi',
17 'Vienola': 'Pahaniemi',
18 'Takakirves': 'Kärsämäki',
19 'Liljalaakso': 'Länsinummi',
20 'Pernon telakka': 'Perno',
21 }
22 try:
23 start = sign.index('Kauppatori')
24 except ValueError:
25 return sign
26 result = []
27 for i, place in enumerate(sign):
28 if i >= start:
29 abstract_place = abstractions.get(place, place)
30 if abstract_place not in result:
31 result.append(abstract_place)
32 else:
33 result.append(place)
34 return result
3 if not reitti: 35 if not reitti:
4 return '' 36 return ''
5 kunnat = {'Turku', 'Naantali', 'Lieto', 'Aura', 'Kaarina', 'Pargas', 'Marttila', 'Somero', 'Koski Tl', 'Tarvasjoki'} 37 kunnat = {'Turku', 'Naantali', 'Lieto', 'Aura', 'Kaarina', 'Pargas', 'Marttila', 'Somero', 'Koski Tl', 'Tarvasjoki'}
6 replacements = { 38 replacements = {
7 "Ylioppilaskylä-Itä": "Ylioppilaskylä", 39 "Ylioppilaskylä-Itä": "Ylioppilaskylä",
136 del painot[1] 168 del painot[1]
137 # lajitellaan painoarvot uudestaan reittijärjestykseen jotta kyltti tulee oikeinpäin 169 # lajitellaan painoarvot uudestaan reittijärjestykseen jotta kyltti tulee oikeinpäin
138 painot = sorted(painot, key = lambda paino: paino[2]) 170 painot = sorted(painot, key = lambda paino: paino[2])
139 # muodostetaan kyltti.. 171 # muodostetaan kyltti..
140 kyltti = [paino[0] for paino in painot] 172 kyltti = [paino[0] for paino in painot]
141 173 kyltti = abstract_sign(kyltti)
142 # supista nimet jos mahdollista 174 # supista nimet jos mahdollista
143 def viimeistele(kyltti, supistus_taso = 0): 175 def viimeistele(kyltti, supistus_taso = 0):
144 if supistus_taso > 0: 176 if supistus_taso > 0:
145 kyltti = [helpot_supistukset.get(paikka, paikka) for paikka in kyltti] 177 kyltti = [helpot_supistukset.get(paikka, paikka) for paikka in kyltti]
146 if supistus_taso > 1: 178 if supistus_taso > 1:

mercurial