ability to set an arrival or a departure time
This commit is contained in:
parent
c719865e7a
commit
c284a24842
5 changed files with 37 additions and 7 deletions
|
|
@ -49,7 +49,7 @@ class DeparturesPage(BasePage):
|
|||
try :
|
||||
time = datetime.datetime.combine(datetime.date.today(), datetime.time(*[int(x) for x in time.split(':')]))
|
||||
except ValueError:
|
||||
self.logger.warning('Unable to parse datetime')
|
||||
self.logger.warning('Unable to parse datetime "%s"' % time)
|
||||
|
||||
yield {'type': to_unicode(code_mission),
|
||||
'time': time,
|
||||
|
|
|
|||
|
|
@ -21,18 +21,37 @@
|
|||
import re
|
||||
import datetime
|
||||
|
||||
from weboob.capabilities.travel import RoadmapError
|
||||
from weboob.tools.browser import BasePage
|
||||
from weboob.tools.misc import to_unicode
|
||||
from weboob.tools.mech import ClientForm
|
||||
|
||||
|
||||
__all__ = ['RoadmapPage']
|
||||
|
||||
|
||||
class RoadmapSearchPage(BasePage):
|
||||
def search(self, departure, arrival):
|
||||
def search(self, departure, arrival, departure_time, arrival_time):
|
||||
self.browser.select_form('formHiRecherche')
|
||||
self.browser['lieuDepart'] = departure.encode('utf-8')
|
||||
self.browser['lieuArrivee'] = arrival.encode('utf-8')
|
||||
|
||||
time = None
|
||||
if departure_time:
|
||||
self.browser['typeHeure'] = ['1']
|
||||
time = departure_time
|
||||
elif arrival_time:
|
||||
self.browser['typeHeure'] = ['-1']
|
||||
time = arrival_time
|
||||
|
||||
if time:
|
||||
try:
|
||||
self.browser['jour'] = ['%d' % time.day]
|
||||
self.browser['mois'] = ['%02d/%d' % (time.month, time.year)]
|
||||
self.browser['heure'] = ['%02d' % time.hour]
|
||||
self.browser['minutes'] = ['%02d' % (time.minute - (time.minute%5))]
|
||||
except ClientForm.ItemNotFoundError:
|
||||
raise RoadmapError('Unable to establish a roadmap with %s time at "%s"' % ('departure' if departure_time else 'arrival', time))
|
||||
self.browser.submit()
|
||||
|
||||
class RoadmapConfirmPage(BasePage):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue