[transilien] fix ambiguous departure/arrival in roadmap
This commit is contained in:
parent
ca01b6afd4
commit
04244da09c
2 changed files with 19 additions and 3 deletions
|
|
@ -42,6 +42,8 @@ class Transilien(PagesBrowser):
|
|||
dep = self.get_stations(departure, False).next().name
|
||||
arr = self.get_stations(arrival, False).next().name
|
||||
self.roadmap_page.go(url='init').request_roadmap(dep, arr, filters.arrival_time)
|
||||
if self.page.is_ambiguous():
|
||||
self.page.fix_ambiguity()
|
||||
return self.page.get_roadmap()
|
||||
|
||||
def get_stations(self, pattern, only_station=True):
|
||||
|
|
@ -61,7 +63,8 @@ class Transilien(PagesBrowser):
|
|||
|
||||
_date = datetime.strftime(date, "%d/%m/%Y-%H:%M")
|
||||
|
||||
self.horaires_page.go(station=station.replace(' ', '-'), arrival=arrival_id, station2=station_id, arrival2=arrival, date=_date)
|
||||
self.horaires_page.go(station=station.replace(' ', '-'), arrival=arrival_id, station2=station_id,
|
||||
arrival2=arrival, date=_date)
|
||||
return self.page.get_departures(station, arrival_name, date)
|
||||
return []
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -60,8 +60,21 @@ class Child(Filter):
|
|||
class RoadMapPage(HTMLPage):
|
||||
def request_roadmap(self, station, arrival, arrival_date):
|
||||
form = self.get_form('//form[@id="cRechercheItineraire"]')
|
||||
form['depart'] = station
|
||||
form['arrivee'] = arrival
|
||||
form['depart'] = '%s' % station
|
||||
form['arrivee'] = '%s' % arrival
|
||||
form.submit()
|
||||
|
||||
def is_ambiguous(self):
|
||||
return self.doc.xpath('//select[@id="gare_arrivee_ambigu"] | //select[@id="gare_depart_ambigu"]')
|
||||
|
||||
def fix_ambiguity(self):
|
||||
form = self.get_form('//form[@id="cRechercheItineraire"]')
|
||||
if self.doc.xpath('//select[@id="gare_arrivee_ambigu"]'):
|
||||
form['coordArrivee'] = self.doc.xpath('//select[@id="gare_arrivee_ambigu"]/option[@cat="STOP_AREA"]/@value')[0]
|
||||
|
||||
if self.doc.xpath('//select[@id="gare_depart_ambigu"]'):
|
||||
form['coordDepart'] = self.doc.xpath('//select[@id="gare_depart_ambigu"]/option[@cat="STOP_AREA"]/@value')[0]
|
||||
|
||||
form.submit()
|
||||
|
||||
def get_roadmap(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue