From 6fa7a4934978c557d812bee2f9fa3e8d115fa67b Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 28 Jun 2011 17:04:27 +0200 Subject: [PATCH] support roadmaps in ICapTravel (closes #680) --- weboob/capabilities/travel.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/weboob/capabilities/travel.py b/weboob/capabilities/travel.py index 1756e82e..7d70413c 100644 --- a/weboob/capabilities/travel.py +++ b/weboob/capabilities/travel.py @@ -18,7 +18,7 @@ # along with weboob. If not, see . -from datetime import time, datetime +from datetime import time, datetime, timedelta from .base import IBaseCap, CapBaseObject @@ -34,7 +34,6 @@ class Station(CapBaseObject): def __repr__(self): return "" % (self.id, self.name) - class Departure(CapBaseObject): def __init__(self, id, _type, _time): CapBaseObject.__init__(self, id) @@ -51,6 +50,17 @@ class Departure(CapBaseObject): return u"" % ( self.id, self.type, self.time.strftime('%H:%M'), self.departure_station, self.arrival_station) +class RoadStep(CapBaseObject): + def __init__(self, id): + CapBaseObject.__init__(self, id) + + self.add_field('line', basestring) + self.add_field('start_time', time) + self.add_field('end_time', time) + self.add_field('departure', unicode) + self.add_field('arrival', unicode) + self.add_field('duration', timedelta) + class ICapTravel(IBaseCap): def iter_station_search(self, pattern): """ @@ -70,3 +80,13 @@ class ICapTravel(IBaseCap): @return [iter] result of Departure objects """ raise NotImplementedError() + + def iter_roadmap(self, departure, arrival): + """ + Get a roadmap. + + @param departure [str] name of departure station + @param arrival [str] name of arrival station + @return [iter(RoadStep)] steps of roadmap + """ + raise NotImplementedError()