From 38dfc30e2e91ed2d1d2339b740c6788d08d896c8 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 17 Apr 2012 13:50:05 +0200 Subject: [PATCH] fix roadmap whene there is no confirm page --- modules/transilien/pages/roadmap.py | 43 ++++++++++++++++------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/modules/transilien/pages/roadmap.py b/modules/transilien/pages/roadmap.py index 32232f8d..f51c7742 100644 --- a/modules/transilien/pages/roadmap.py +++ b/modules/transilien/pages/roadmap.py @@ -54,25 +54,6 @@ class RoadmapSearchPage(BasePage): 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): - def select(self, name, num): - try: - self.browser[name] = str(num) - except TypeError: - self.browser[name] = [str(num)] - - def confirm(self): - self.browser.select_form('form1') - self.browser.set_all_readonly(False) - self.select('idDepart', 1) - self.select('idArrivee', 1) - self.browser['modeTransport'] = ['0'] - self.browser['trainRer'] = 'true' - self.browser['bus'] = 'false' - self.browser['tramway'] = 'true' - self.browser['bateau'] = 'false' - self.browser.submit() - class RoadmapPage(BasePage): def get_steps(self): errors = [] @@ -113,3 +94,27 @@ class RoadmapPage(BasePage): if m: return datetime.timedelta(hours=int(m.group(1)), minutes=int(m.group(2))) + +class RoadmapConfirmPage(RoadmapPage): + def select(self, name, num): + try: + self.browser[name] = str(num) + except TypeError: + self.browser[name] = [str(num)] + + def confirm(self): + self.browser.select_form('form1') + self.browser.set_all_readonly(False) + try: + self.select('idDepart', 1) + self.select('idArrivee', 1) + self.browser['modeTransport'] = ['0'] + self.browser['trainRer'] = 'true' + self.browser['bus'] = 'false' + self.browser['tramway'] = 'true' + self.browser['bateau'] = 'false' + except ClientForm.ControlNotFoundError: + # We are already on the result page + return + else: + self.browser.submit()