display an error message when user IP address is localized outside of France (closes #1327)
This commit is contained in:
parent
d2b9a0a2d2
commit
17c2a74707
2 changed files with 8 additions and 2 deletions
|
|
@ -21,7 +21,7 @@
|
||||||
from weboob.tools.browser import BaseBrowser
|
from weboob.tools.browser import BaseBrowser
|
||||||
|
|
||||||
from .pages import CitiesPage, SearchPage, SearchErrorPage, \
|
from .pages import CitiesPage, SearchPage, SearchErrorPage, \
|
||||||
SearchInProgressPage, ResultsPage
|
SearchInProgressPage, ResultsPage, ForeignPage
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['VoyagesSNCFBrowser']
|
__all__ = ['VoyagesSNCFBrowser']
|
||||||
|
|
@ -38,6 +38,7 @@ class VoyagesSNCFBrowser(BaseBrowser):
|
||||||
'http://www.voyages-sncf.com/billet-train\?.+': SearchErrorPage,
|
'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/recherche-en-cours.*': SearchInProgressPage,
|
||||||
'http://www.voyages-sncf.com/billet-train/resultat.*': ResultsPage,
|
'http://www.voyages-sncf.com/billet-train/resultat.*': ResultsPage,
|
||||||
|
'http://(?P<country>\w{2})\.voyages-sncf.com/\w{2}/.*': ForeignPage,
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_stations(self):
|
def get_stations(self):
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,14 @@ from weboob.tools.mech import ClientForm
|
||||||
from weboob.capabilities.base import UserError, Currency
|
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):
|
class CitiesPage(BasePage):
|
||||||
def get_stations(self):
|
def get_stations(self):
|
||||||
result = json.loads(self.document[self.document.find('{'):-2])
|
result = json.loads(self.document[self.document.find('{'):-2])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue