diff --git a/modules/voyagessncf/browser.py b/modules/voyagessncf/browser.py index d75d9083..1c917677 100644 --- a/modules/voyagessncf/browser.py +++ b/modules/voyagessncf/browser.py @@ -21,7 +21,7 @@ from weboob.tools.browser import BaseBrowser from .pages import CitiesPage, SearchPage, SearchErrorPage, \ - SearchInProgressPage, ResultsPage + SearchInProgressPage, ResultsPage, ForeignPage __all__ = ['VoyagesSNCFBrowser'] @@ -38,6 +38,7 @@ class VoyagesSNCFBrowser(BaseBrowser): 'http://www.voyages-sncf.com/billet-train\?.+': SearchErrorPage, 'http://www.voyages-sncf.com/billet-train/recherche-en-cours.*': SearchInProgressPage, 'http://www.voyages-sncf.com/billet-train/resultat.*': ResultsPage, + 'http://(?P\w{2})\.voyages-sncf.com/\w{2}/.*': ForeignPage, } def get_stations(self): diff --git a/modules/voyagessncf/pages.py b/modules/voyagessncf/pages.py index 31a7de73..7f2f2d8a 100644 --- a/modules/voyagessncf/pages.py +++ b/modules/voyagessncf/pages.py @@ -28,9 +28,14 @@ from weboob.tools.mech import ClientForm from weboob.capabilities.base import UserError, Currency -__all__ = ['CitiesPage', 'SearchPage'] +__all__ = ['CitiesPage', 'SearchPage', 'SearchErrorPage', 'SearchInProgressPage', + 'ResultsPage', 'ForeignPage'] +class ForeignPage(BasePage): + def on_loaded(self): + raise UserError('Your IP address is localized in a country not supported by this module (%s). Currently only the French website is supported.' % self.group_dict['country']) + class CitiesPage(BasePage): def get_stations(self): result = json.loads(self.document[self.document.find('{'):-2])