--- a/busroute.py Sat Jun 10 17:20:51 2017 +0300 +++ b/busroute.py Sat Jun 10 17:40:36 2017 +0300 @@ -1,5 +1,37 @@ #!/usr/bin/env python3 def supista_reitti(reitti, kokonainen = False): + def abstract_sign(sign): + abstractions = { + 'Moikoinen': 'Hirvensalo', + 'Maanpää': 'Hirvensalo', + 'Papinsaari': 'Hirvensalo', + 'Häppilä': 'Hirvensalo', + 'Friskala': 'Hirvensalo', + 'Kukola': 'Hirvensalo', + 'Oriniemi': 'Hirvensalo', + 'Haarla': 'Hirvensalo', + 'Lauttasaari': 'Hirvensalo', + 'Pikisaari': 'Hirvensalo', + 'Ylioppilaskylä': 'Nummi', + 'Verkahovi': 'Nummi', + 'Vienola': 'Pahaniemi', + 'Takakirves': 'Kärsämäki', + 'Liljalaakso': 'Länsinummi', + 'Pernon telakka': 'Perno', + } + try: + start = sign.index('Kauppatori') + except ValueError: + return sign + result = [] + for i, place in enumerate(sign): + if i >= start: + abstract_place = abstractions.get(place, place) + if abstract_place not in result: + result.append(abstract_place) + else: + result.append(place) + return result if not reitti: return '' kunnat = {'Turku', 'Naantali', 'Lieto', 'Aura', 'Kaarina', 'Pargas', 'Marttila', 'Somero', 'Koski Tl', 'Tarvasjoki'} @@ -138,7 +170,7 @@ painot = sorted(painot, key = lambda paino: paino[2]) # muodostetaan kyltti.. kyltti = [paino[0] for paino in painot] - + kyltti = abstract_sign(kyltti) # supista nimet jos mahdollista def viimeistele(kyltti, supistus_taso = 0): if supistus_taso > 0: