diff --git a/modules/paypal/browser.py b/modules/paypal/browser.py index e02a123a..521339e2 100644 --- a/modules/paypal/browser.py +++ b/modules/paypal/browser.py @@ -24,7 +24,7 @@ from dateutil.relativedelta import relativedelta from weboob.exceptions import BrowserHTTPError from weboob.deprecated.browser import Browser, BrowserIncorrectPassword -from .pages import LoginPage, AccountPage, UselessPage, HomePage, ProHistoryPage, PartHistoryPage, HistoryDetailsPage, ErrorPage +from .pages import PromoPage, LoginPage, AccountPage, UselessPage, HomePage, ProHistoryPage, PartHistoryPage, HistoryDetailsPage, ErrorPage __all__ = ['Paypal'] @@ -49,6 +49,7 @@ class Paypal(Browser): '/cgi-bin/webscr\?cmd=_home&country_lang.x=true$': HomePage, '/auth/validatecaptcha$': ErrorPage, 'https://\w+.paypal.com/cgi-bin/webscr\?cmd=_history-details-from-hub&id=[A-Z0-9]+$': HistoryDetailsPage, + 'https://www.paypal.com/fr/webapps/mpp/clickthru/paypal-app-promo-2.*': PromoPage, 'https://\w+.paypal.com/webapps/business/\?nav=0.0': HomePage, 'https://\w+.paypal.com/webapps/business/\?country_lang.x=true': HomePage, 'https://\w+.paypal.com/myaccount/\?nav=0.0': HomePage, diff --git a/modules/paypal/pages.py b/modules/paypal/pages.py index df299912..0e401209 100644 --- a/modules/paypal/pages.py +++ b/modules/paypal/pages.py @@ -24,7 +24,7 @@ from mechanize import Cookie from weboob.capabilities.bank import Account from weboob.capabilities.base import NotAvailable -from weboob.deprecated.browser import Page +from weboob.deprecated.browser import Page, BrowserUnavailable from weboob.deprecated.mech import ClientForm from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.date import parse_french_date @@ -32,6 +32,12 @@ from weboob.tools.js import Javascript +class PromoPage(Page): + def on_loaded(self): + # We land sometimes on this page, it's better to raise an unavailable browser + # than an Incorrect Password + raise BrowserUnavailable('Promo Page') + class LoginPage(Page): def login(self, login, password): #Paypal use this to check if we accept cookie