# HG changeset patch # User Teemu Piippo # Date 1524138294 -10800 # Node ID 36efdea68d0322fb918412cc43c18e62ae5a444e # Parent 438d77bca50e884f731c3d6270a511cc4e6fbe83 things diff -r 438d77bca50e -r 36efdea68d03 buses.py --- a/buses.py Sun Apr 15 13:51:39 2018 +0300 +++ b/buses.py Thu Apr 19 14:44:54 2018 +0300 @@ -51,6 +51,7 @@ self.id = entry['route_id'] self.reference = entry['route_short_name'] self.trips = set() + self.service = None def __repr__(self): return 'routes[%r]' % self.reference @@ -68,6 +69,7 @@ self.cluster = None self.pairs = set() # samannimiset lähellä olevat pysäkit self.involved_trips = set() + self.services = set() def __repr__(self): return 'bus_stops[%r]' % self.reference def schedule(self, *, max_amount = 50, arrivals = False): @@ -127,6 +129,16 @@ # Lajittele lopputulos saapumisajan mukaan. result.sort(key = lambda schedule_entry: schedule_entry['time']) return result + @property + def typename(self): + if self.services == {'train'}: + return 'train-station' + elif self.services == {'tram'}: + return 'tram-stop' + elif self.services == {'ferry'}: + return 'ferry-terminal' + else: + return 'bus-stop' class BusHalt: def __init__(self, arrival_time, departure_time, stop, trip, traveled_distance): @@ -203,7 +215,7 @@ route = route, service = services[row['service_id']], length = shape_distances.get(row.get('shape_id'), 1) * float(profile['metrics']['shape-modifier']), - block_id = row['block_id'], + block_id = row.get('block_id') or row['service_id'], ) route.trips.add(trip) if trip.name in all_trips: @@ -492,6 +504,13 @@ trips_by_vehicle_info = {} for trip in all_trips.values(): trips_by_vehicle_info[(trip.block_id, trip.schedule[0].arrival_time)] = trip + if 'services' in profile and profile['services'].get('default-service'): + for route in routes.values(): + if not route.service: + route.service = profile['services']['default-service'] + for trip in route.trips: + for halt in trip.schedule: + halt.stop.services.add(route.service) if __name__ == '__main__': profile.read('profiles/föli.ini') diff -r 438d77bca50e -r 36efdea68d03 föli.osm --- a/föli.osm Sun Apr 15 13:51:39 2018 +0300 +++ b/föli.osm Thu Apr 19 14:44:54 2018 +0300 @@ -397,8 +397,8 @@ - - + + @@ -420,9 +420,8 @@ - - - + + @@ -1208,11 +1207,11 @@ - + - + @@ -1260,966 +1259,985 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -2231,7 +2249,7 @@ - + @@ -2244,7 +2262,7 @@ - + @@ -2252,11 +2270,12 @@ + - + @@ -2267,28 +2286,30 @@ - + + - + + - + @@ -2305,7 +2326,7 @@ - + @@ -2325,7 +2346,7 @@ - + @@ -2334,7 +2355,7 @@ - + @@ -2345,7 +2366,7 @@ - + @@ -2354,6 +2375,7 @@ + @@ -2361,18 +2383,18 @@ - + - - + + - - - + + + @@ -2380,7 +2402,7 @@ - + @@ -2389,7 +2411,7 @@ - + @@ -2403,7 +2425,7 @@ - + @@ -2415,7 +2437,7 @@ - + @@ -2426,11 +2448,12 @@ + - + @@ -2442,7 +2465,7 @@ - + @@ -2453,7 +2476,7 @@ - + @@ -2464,9 +2487,9 @@ - + - + @@ -2475,18 +2498,19 @@ - + - + + - + @@ -2494,11 +2518,12 @@ + - + @@ -2508,18 +2533,19 @@ - + + - + @@ -2530,7 +2556,7 @@ - + @@ -2540,7 +2566,7 @@ - + @@ -2553,21 +2579,21 @@ - + - + - + - + @@ -2585,7 +2611,7 @@ - + @@ -2598,7 +2624,7 @@ - + @@ -2613,10 +2639,11 @@ + - + @@ -2635,7 +2662,7 @@ - + @@ -2654,7 +2681,7 @@ - + @@ -2669,7 +2696,7 @@ - + @@ -2679,7 +2706,7 @@ - + @@ -2691,7 +2718,7 @@ - + @@ -2706,7 +2733,7 @@ - + @@ -2719,7 +2746,7 @@ - + @@ -2733,7 +2760,7 @@ - + @@ -2742,11 +2769,12 @@ + - + @@ -2757,33 +2785,35 @@ - + - - + + + - + - + + - + @@ -2801,7 +2831,7 @@ - + @@ -2812,7 +2842,7 @@ - + @@ -2823,7 +2853,7 @@ - + @@ -2833,7 +2863,7 @@ - + @@ -2845,23 +2875,23 @@ - + - + - - - - - + + + + + - + @@ -2872,7 +2902,7 @@ - + @@ -2885,7 +2915,7 @@ - + @@ -2894,7 +2924,7 @@ - + @@ -2908,7 +2938,7 @@ - + @@ -2916,10 +2946,11 @@ + - + @@ -2932,28 +2963,30 @@ - + + - + + - + @@ -2965,7 +2998,7 @@ - + @@ -2974,18 +3007,19 @@ - + + - + @@ -2995,7 +3029,7 @@ - + @@ -3005,19 +3039,20 @@ - + + - + @@ -3039,11 +3074,10 @@ - + - @@ -3054,7 +3088,7 @@ - + @@ -3065,24 +3099,26 @@ + - + + - + @@ -3092,7 +3128,7 @@ - + @@ -3105,7 +3141,7 @@ - + @@ -3116,7 +3152,7 @@ - + @@ -3129,7 +3165,7 @@ - + @@ -3137,21 +3173,23 @@ + - + - - - + + + + @@ -3168,7 +3206,7 @@ - + @@ -3186,7 +3224,7 @@ - + @@ -3202,7 +3240,7 @@ - + @@ -3212,12 +3250,13 @@ + - + @@ -3243,7 +3282,7 @@ - + @@ -3259,7 +3298,7 @@ - + @@ -3271,7 +3310,7 @@ - + @@ -3287,20 +3326,21 @@ - + + - + - + @@ -3314,7 +3354,7 @@ - + @@ -3332,7 +3372,7 @@ - + @@ -3350,7 +3390,7 @@ - + @@ -3368,7 +3408,7 @@ - + @@ -3380,7 +3420,7 @@ - + @@ -3392,7 +3432,7 @@ - + @@ -3402,7 +3442,7 @@ - + @@ -3415,7 +3455,7 @@ - + @@ -3425,7 +3465,7 @@ - + @@ -3434,7 +3474,7 @@ - + @@ -3447,7 +3487,7 @@ - + @@ -3458,7 +3498,7 @@ - + @@ -3478,7 +3518,7 @@ - + @@ -3487,10 +3527,11 @@ + - + @@ -3499,7 +3540,7 @@ - + @@ -3509,7 +3550,7 @@ - + @@ -3520,7 +3561,7 @@ - + @@ -3534,7 +3575,7 @@ - + @@ -3542,7 +3583,7 @@ - + @@ -3553,7 +3594,7 @@ - + @@ -3562,7 +3603,7 @@ - + @@ -3572,7 +3613,7 @@ - + @@ -3587,7 +3628,7 @@ - + @@ -3597,7 +3638,7 @@ - + @@ -3608,7 +3649,7 @@ - + @@ -3620,7 +3661,7 @@ - + @@ -3633,7 +3674,7 @@ - + @@ -3643,7 +3684,7 @@ - + @@ -3654,7 +3695,7 @@ - + @@ -3665,7 +3706,7 @@ - + @@ -3675,7 +3716,7 @@ - + @@ -3685,7 +3726,7 @@ - + @@ -3697,7 +3738,7 @@ - + @@ -3707,7 +3748,7 @@ - + @@ -3717,7 +3758,7 @@ - + @@ -3726,7 +3767,7 @@ - + @@ -3737,7 +3778,7 @@ - + @@ -3752,7 +3793,7 @@ - + @@ -3763,7 +3804,7 @@ - + @@ -3776,7 +3817,7 @@ - + @@ -3787,7 +3828,7 @@ - + @@ -3799,7 +3840,7 @@ - + @@ -3808,7 +3849,7 @@ - + @@ -3818,7 +3859,7 @@ - + @@ -3827,7 +3868,7 @@ - + @@ -3841,7 +3882,7 @@ - + @@ -3853,7 +3894,7 @@ - + @@ -3863,7 +3904,7 @@ - + @@ -3874,7 +3915,7 @@ - + @@ -3888,7 +3929,7 @@ - + @@ -3899,7 +3940,7 @@ - + @@ -3909,7 +3950,7 @@ - + @@ -3925,7 +3966,7 @@ - + @@ -3936,7 +3977,7 @@ - + @@ -3946,7 +3987,7 @@ - + @@ -3957,7 +3998,7 @@ - + @@ -3966,7 +4007,7 @@ - + @@ -3976,7 +4017,7 @@ - + @@ -3993,7 +4034,7 @@ - + @@ -4006,7 +4047,7 @@ - + @@ -4017,7 +4058,7 @@ - + @@ -4029,7 +4070,7 @@ - + @@ -4040,7 +4081,7 @@ - + @@ -4052,7 +4093,7 @@ - + @@ -4063,7 +4104,7 @@ - + @@ -4072,7 +4113,7 @@ - + @@ -4085,7 +4126,7 @@ - + @@ -4097,6 +4138,7 @@ + @@ -4105,7 +4147,7 @@ - + @@ -4117,7 +4159,7 @@ - + @@ -4128,7 +4170,7 @@ - + @@ -4140,7 +4182,7 @@ - + @@ -4149,7 +4191,7 @@ - + @@ -4158,7 +4200,7 @@ - + @@ -4169,7 +4211,7 @@ - + @@ -4179,7 +4221,7 @@ - + @@ -4195,7 +4237,7 @@ - + @@ -4207,7 +4249,7 @@ - + @@ -4217,7 +4259,7 @@ - + @@ -4229,7 +4271,7 @@ - + @@ -4244,7 +4286,7 @@ - + @@ -4255,7 +4297,7 @@ - + @@ -4264,7 +4306,7 @@ - + @@ -4274,7 +4316,7 @@ - + @@ -4282,10 +4324,11 @@ + - + @@ -4297,7 +4340,7 @@ - + @@ -4308,7 +4351,7 @@ - + @@ -4318,7 +4361,7 @@ - + @@ -4328,17 +4371,19 @@ + - - - - + + + + + @@ -4348,13 +4393,13 @@ - + - - - - + + + + @@ -4364,7 +4409,7 @@ - + @@ -4373,7 +4418,7 @@ - + @@ -4387,7 +4432,7 @@ - + @@ -4398,7 +4443,7 @@ - + @@ -4408,7 +4453,7 @@ - + @@ -4419,7 +4464,7 @@ - + @@ -4431,7 +4476,7 @@ - + @@ -4443,7 +4488,7 @@ - + @@ -4454,7 +4499,7 @@ - + @@ -4464,7 +4509,7 @@ - + @@ -4477,7 +4522,7 @@ - + @@ -4488,7 +4533,7 @@ - + @@ -4496,12 +4541,13 @@ + - + @@ -4510,18 +4556,19 @@ - + + - + @@ -4530,11 +4577,12 @@ + - + @@ -4544,11 +4592,12 @@ + - + @@ -4559,11 +4608,11 @@ - + - + - + @@ -4575,7 +4624,7 @@ - + @@ -4593,7 +4642,7 @@ - + @@ -4604,65 +4653,66 @@ + - - - - - - + + + + + + - + + + + + + + + + + + + + + - + + + + + + - - - - - + + + + + + - - - - - - + - - - - - - - - - - - - - - - + @@ -4672,52 +4722,61 @@ - + + + + + + + + + + + + - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + - - - - - - - - - - - - @@ -4726,6 +4785,13 @@ + + + + + + + @@ -4733,22 +4799,9 @@ - - - - - - - - - - - - - - - - + + + @@ -4757,110 +4810,112 @@ - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - - - + - - - - - - - - - - - - - - - - + @@ -4869,23 +4924,23 @@ - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -4894,186 +4949,201 @@ - + + + + + + + + + + + + + + + + + - - - - - + + + + + + - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + - - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + - - - - - + + + + + + + + - - - - - - - - - + + + - + @@ -5081,13 +5151,6 @@ - - - - - - - @@ -5162,56 +5225,65 @@ + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + @@ -5219,21 +5291,8 @@ - - - - - - - - - - - - - - - + + @@ -5244,171 +5303,176 @@ - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + - - - - - - - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + + - - - - - + + + + - - - - - - - + + + + + + - - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + @@ -5418,105 +5482,110 @@ - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + - - - - - + + + - - - - - + - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + @@ -5524,359 +5593,382 @@ - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - + + + - + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - + + + + + - - - - - + + + + + + - - - - - + - - - - - - - - - - - - - - + - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + - - + + + - - + - - - - - + + + + + - - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + + + - - - - - - + + + + + - - - - - - + + + + + - - - - - + - - - - - - + + + + + + + + - - - - - - + + + + + + + - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + - + + + + + - - - - - - + + + + + - - - - - + + + + + + + - + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + @@ -5884,521 +5976,538 @@ - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - + + - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + + - - - - - + + + + + - - - - - - - + + + + + - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - + - + + + + + + + + + + + - - - - + + + + - - + + + + + - - - + - - - - - + + + + + - + + + + + + + - - - - - + + - - - - - - - + + + + + + + - + + + + + - - - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + - - - - - - - - + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - + + + + + - + + + + + - - - - - + + + + + - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 438d77bca50e -r 36efdea68d03 profiles/föli.ini --- a/profiles/föli.ini Sun Apr 15 13:51:39 2018 +0300 +++ b/profiles/föli.ini Thu Apr 19 14:44:54 2018 +0300 @@ -7,3 +7,9 @@ [regions] use-regions = 1 osm-path = föli.osm + +[services] +default-service = bus + +[service-patterns] +ferry = 180 diff -r 438d77bca50e -r 36efdea68d03 profiles/hsl.ini --- a/profiles/hsl.ini Sun Apr 15 13:51:39 2018 +0300 +++ b/profiles/hsl.ini Thu Apr 19 14:44:54 2018 +0300 @@ -4,3 +4,7 @@ [service-patterns] light-rail = [A-Z] metro = M\d+ + +[regions] +use-regions = 1 +osm-path = hsl.osm diff -r 438d77bca50e -r 36efdea68d03 profiles/junat.ini --- a/profiles/junat.ini Sun Apr 15 13:51:39 2018 +0300 +++ b/profiles/junat.ini Thu Apr 19 14:44:54 2018 +0300 @@ -2,7 +2,11 @@ shape-modifier = 1 [regions] -use-regions = +use-regions = 1 +osm-path = trains.osm + +[services] +default-service = train [priorities] tampere asema = 1000 diff -r 438d77bca50e -r 36efdea68d03 service.py --- a/service.py Sun Apr 15 13:51:39 2018 +0300 +++ b/service.py Thu Apr 19 14:44:54 2018 +0300 @@ -9,6 +9,7 @@ from misc import * from busroute import reduce_schedule +from busroute import simplify_name import buses regions = {} @@ -54,7 +55,7 @@ for key, value in region.items(): if ':' in key: name_type, language = key.split(':', 1) - if name_type.endswith('name') and language: + if (name_type.endswith('name') or name_type == 'genitive') and language: section = 'region_' + name_type if section not in self.languages[language]: self.languages[language][section] = {} @@ -84,7 +85,7 @@ trip_length = schedule_entry['trip'].length - schedule_entry['stop'].traveled_distance regions = schedule_entry['trip'].concise_schedule(schedule_entry['stop']) return [ - simplify_name(name) + name for name in reduce_schedule( regions, trip_length = trip_length, @@ -92,13 +93,32 @@ ) ] +def genitive(name): + from busroute import regions + region = regions.get(name) + if region: + return region.get('genitive:fi', simplify_name(name) + 'n') + else: + return simplify_name(name) + 'n' + +def via_fi(via): + if len(via) > 1: + return ', '.join(via[:-1]) + ' ja ' + via[-1] + else: + return via[0] + def sign(schedule_entry, format = 'medium'): sign = sign_elements(schedule_entry, format = format) if sign: + #if language_for_page() == 'fi': + # if len(sign) > 1: + # return simplify_name(sign[-1]) + ' ' + via_fi([genitive(place) for place in sign[:-1]]) + ' kautta' + # else: + # return simplify_name(sign[0]) # sign_representation = ' - '.join(tr(place, 'region_short_name') for place in sign if place not in suffix_regions) # sign_representation += ''.join(' ' + tr(place, 'suffix-places') for place in sign if place in suffix_regions) # return sign_representation - return ' - '.join(tr(place, 'region_short_name') for place in sign) + return ' - '.join(tr(simplify_name(place), 'region_short_name') for place in sign) else: return schedule_entry['trip'].schedule[-1].stop.name @@ -193,11 +213,16 @@ location = bus_stop.location, cluster = bus_stop.cluster.url_name if len(bus_stop.cluster.stops) > 1 else None, tr = tr, + typename = bus_stop.typename, ) def week_schedule(bus_stop, **kwargs): for i in range(-1, 7): - yield from bus_stop.schedule_for_day(today() + timedelta(i), **kwargs) + try: + yield from bus_stop.schedule_for_day(today() + timedelta(i), **kwargs) + except ValueError: + # went outside bounds + return def route_key(route): match = re.search(r'^([a-zA-Z]*)(\d+)(.*)$', route) @@ -500,6 +525,7 @@ 'stop_code': schedule_entry['stop'].stop.code, 'stop_name': tr(schedule_entry['stop'].stop.name, 'bus-stops', 'places'), 'imminent': imminent(schedule_entry), + 'typename': schedule_entry['stop'].stop.typename, }) stops_in_cluster = sorted( ({ @@ -610,6 +636,7 @@ tr = tr, week = week_model, description = describe(bus_stop), + typename = bus_stop.typename, ) @app.route('/trip/') @@ -650,6 +677,7 @@ 'id': halt.stop.reference, 'code': halt.stop.code, 'name': tr(halt.stop.name, 'bus-stops'), + 'typename': halt.stop.typename, }) sign = trip.concise_schedule() try: diff -r 438d77bca50e -r 36efdea68d03 static/bus-stop.png Binary file static/bus-stop.png has changed diff -r 438d77bca50e -r 36efdea68d03 static/pysäkki.png Binary file static/pysäkki.png has changed diff -r 438d77bca50e -r 36efdea68d03 templates/cluster.html --- a/templates/cluster.html Sun Apr 15 13:51:39 2018 +0300 +++ b/templates/cluster.html Thu Apr 19 14:44:54 2018 +0300 @@ -71,7 +71,7 @@ {{halt['time']}} - {{halt['stop_code']}} + {{halt['stop_code']}} {{route_rep(halt['route-splice'])}} diff -r 438d77bca50e -r 36efdea68d03 templates/stop.html --- a/templates/stop.html Sun Apr 15 13:51:39 2018 +0300 +++ b/templates/stop.html Thu Apr 19 14:44:54 2018 +0300 @@ -18,7 +18,7 @@ - {{name}} + {{name}} diff -r 438d77bca50e -r 36efdea68d03 templates/stop_week.html --- a/templates/stop_week.html Sun Apr 15 13:51:39 2018 +0300 +++ b/templates/stop_week.html Thu Apr 19 14:44:54 2018 +0300 @@ -185,7 +185,7 @@ - {{ref}} {{name}} + {{ref}} {{name}} diff -r 438d77bca50e -r 36efdea68d03 templates/trip.html --- a/templates/trip.html Sun Apr 15 13:51:39 2018 +0300 +++ b/templates/trip.html Thu Apr 19 14:44:54 2018 +0300 @@ -85,7 +85,7 @@ {% for halt in entry['stops'] %} {{halt['time']}} -  {{halt['code']}} +  {{halt['code']}} {{halt['name']}} {% endfor %}