From 9363333b3432bd3f6b68fe2daec50db3b1d4847f Mon Sep 17 00:00:00 2001 From: Juke Date: Tue, 13 Apr 2010 19:17:01 +0200 Subject: [PATCH] ADD plateform to disting late_reason and plateform --- weboob/backends/transilien/backend.py | 1 + weboob/backends/transilien/browser.py | 20 ++++++++++++++------ weboob/capabilities/travel.py | 1 + weboob/frontends/travel/application.py | 11 ++++++----- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/weboob/backends/transilien/backend.py b/weboob/backends/transilien/backend.py index d3d0fa1f..71e8a60c 100644 --- a/weboob/backends/transilien/backend.py +++ b/weboob/backends/transilien/backend.py @@ -46,4 +46,5 @@ class TransilienBackend(Backend, ICapTravel): departure.arrival_station = d['arrival'] departure.late = d['late'] departure.information = d['late_reason'] + departure.plateform = d['plateform'] yield departure diff --git a/weboob/backends/transilien/browser.py b/weboob/backends/transilien/browser.py index 4f82c907..e6451b16 100644 --- a/weboob/backends/transilien/browser.py +++ b/weboob/backends/transilien/browser.py @@ -133,12 +133,20 @@ class Transilien(Browser): else: self.location('http://www.transilien.com/web/ITProchainsTrains.do?tr3a=%s&urlModule=/site/pid/184' % station_id) for route in self.page.document.list_route: - yield {'type': toUnicode(route.code_mission), - 'time': datetime.combine(date.today(), time(*[int(x) for x in route.time.split(':')])), - 'departure': toUnicode(station_id), - 'arrival': toUnicode(route.destination), - 'late': time(), - 'late_reason': toUnicode(route.platform)} + _late_reason = None + try : + _time = datetime.combine(date.today(), time(*[int(x) for x in route.time.split(':')])) + except ValueError: + _time = None + _late_reason = route.time + else: + yield {'type': toUnicode(route.code_mission), + 'time': _time, + 'departure': toUnicode(station_id), + 'arrival': toUnicode(route.destination), + 'late': time(), + 'late_reason': _late_reason, + 'plateform': toUnicode(route.platform)} def home(self): pass diff --git a/weboob/capabilities/travel.py b/weboob/capabilities/travel.py index 9103da38..138efc78 100644 --- a/weboob/capabilities/travel.py +++ b/weboob/capabilities/travel.py @@ -59,6 +59,7 @@ class Departure(object): self.arrival_station = u'' self.late = time() self.information = u'' + self.plateform = u'' def __repr__(self): return "" % (self.id, diff --git a/weboob/frontends/travel/application.py b/weboob/frontends/travel/application.py index 40bb395d..adddf8a5 100644 --- a/weboob/frontends/travel/application.py +++ b/weboob/frontends/travel/application.py @@ -45,18 +45,19 @@ class Travel(ConsoleApplication): @ConsoleApplication.command('List all departures on a special station') def command_departures(self, station, arrival=None): - print ".-----.-----------.-------.-----------------------.-------.--------------------." - print "| ID | Type | Time | Arrival | Late | Info |" - print "+-----+-----------+-------+-----------------------+-------+--------------------+" + print ".-----.-----------.-------.-----------------------.-------.--------------------.------------" + print "| ID | Type | Time | Arrival | Late | Info | Plateform |" + print "+-----+-----------+-------+-----------------------+-------+--------------------+-----------+" count = 0 for name, backend, in self.weboob.iter_backends(): for departure in backend.iter_station_departures(station, arrival): - print u"|%4d | %-10s|%6s | %-22s|%6s | %-19s|" % (departure.id, + print u"|%4d | %-10s|%6s | %-22s|%6s | %-19s| %-10s|" % (departure.id, departure.type, departure.time.strftime("%H:%M"), departure.arrival_station, departure.late and departure.late.strftime("%H:%M") or '', - departure.information) + departure.information, + departure.plateform) count += 1 print "+-----'-----------'-------'-----------------------'-------'--------------------+" print "| %3d departures listed |" % count