From b319b92a15567042042b581848351b2a68830a53 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 14 Jan 2014 23:21:31 +0100 Subject: [PATCH] if station ID is not found, try to look for it as a name and take the first result It is possible to do both: traveloob> departures 2656@voyagessncf 2128@voyagessncf and: traveloob> departures paris lyon --- modules/voyagessncf/backend.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/voyagessncf/backend.py b/modules/voyagessncf/backend.py index b41f0e63..443c4ed0 100644 --- a/modules/voyagessncf/backend.py +++ b/modules/voyagessncf/backend.py @@ -104,7 +104,11 @@ class VoyagesSNCFBackend(BaseBackend, ICapTravel): station = self.STATIONS[int(station_id)] arrival = self.STATIONS[int(arrival_id)] except (IndexError, ValueError): - raise UserError('Unknown station') + try: + station = list(self.iter_station_search(station_id))[0].name + arrival = list(self.iter_station_search(arrival_id))[0].name + except IndexError: + raise UserError('Unknown station') with self.browser: for i, d in enumerate(self.browser.iter_departures(station, arrival, date,