diff --git a/modules/bnpcards/browser.py b/modules/bnpcards/browser.py index daea4939deb3cb96c4924c5d4618770afd404f0f..8900ba22ed5785330019294a85666e316b48c153 100644 --- a/modules/bnpcards/browser.py +++ b/modules/bnpcards/browser.py @@ -22,6 +22,7 @@ from weboob.browser import LoginBrowser, URL, need_login from weboob.browser.switch import SiteSwitch from weboob.tools.capabilities.bank.transactions import sorted_transactions +from weboob.tools.compat import basestring from .pages import LoginPage, ErrorPage, AccountsPage, TransactionsPage, \ TiCardPage, TiHistoPage, ComingPage, HistoPage, HomePage @@ -30,35 +31,35 @@ class BnpcartesentrepriseBrowser(LoginBrowser): BASEURL = 'https://www.cartesentreprise.bnpparibas.com' - login = URL('/ce_internet_public/seConnecter.builder.do', LoginPage) - error = URL('.*.seConnecter.event.do', - '.*.compteGestChgPWD.builder.do', - '/ce_internet_prive_ti/compteTituChgPWD.builder.do', + login = URL(r'/ce_internet_public/seConnecter.builder.do', LoginPage) + error = URL(r'.*.seConnecter.event.do', + r'.*.compteGestChgPWD.builder.do', + r'/ce_internet_prive_ti/compteTituChgPWD.builder.do', r'/ce_internet_corporate_ti/compteTituChgPWDCorporate.builder.do', ErrorPage) - home = URL('/ce_internet_prive_ge/accueilInternetGe.builder.do', - '/ce_internet_(prive|corporate)_ti/accueilInternetTi(Corporate)?.builder.do', HomePage) - accounts = URL('/ce_internet_prive_ge/carteAffaireParc.builder.do', - '/ce_internet_prive_ge/carteAffaireParcChange.event.do', - '/ce_internet_prive_ge/pageParcCarteAffaire.event.do', AccountsPage) - coming = URL('/ce_internet_prive_ge/operationEnCours.builder.do', - '/ce_internet_prive_ge/operationEnCours.event.do', ComingPage) - history = URL('/ce_internet_prive_ge/operationHisto.builder.do', - '/ce_internet_prive_ge/operationHisto.event.do', HistoPage) - transactions = URL('ce_internet_prive_ge/operationEnCoursDetail.builder.do.*', - 'ce_internet_prive_ge/pageOperationEnCoursDetail.event.do.*', - 'ce_internet_prive_ge/operationHistoDetail.builder.do.*', - 'ce_internet_prive_ge/pageOperationHistoDetail.event.do.*', + home = URL(r'/ce_internet_prive_ge/accueilInternetGe.builder.do', + r'/ce_internet_(prive|corporate)_ti/accueilInternetTi(Corporate)?.builder.do', HomePage) + accounts = URL(r'/ce_internet_prive_ge/carteAffaireParc.builder.do', + r'/ce_internet_prive_ge/carteAffaireParcChange.event.do', + r'/ce_internet_prive_ge/pageParcCarteAffaire.event.do', AccountsPage) + coming = URL(r'/ce_internet_prive_ge/operationEnCours.builder.do', + r'/ce_internet_prive_ge/operationEnCours.event.do', ComingPage) + history = URL(r'/ce_internet_prive_ge/operationHisto.builder.do', + r'/ce_internet_prive_ge/operationHisto.event.do', HistoPage) + transactions = URL(r'ce_internet_prive_ge/operationEnCoursDetail.builder.do.*', + r'ce_internet_prive_ge/pageOperationEnCoursDetail.event.do.*', + r'ce_internet_prive_ge/operationHistoDetail.builder.do.*', + r'ce_internet_prive_ge/pageOperationHistoDetail.event.do.*', TransactionsPage) - ti_card = URL('/ce_internet_prive_ti/operationEnCoursDetail.builder.do', - '/ce_internet_(prive|corporate)_ti/operation(Corporate)?EnCoursDetail(Afficher|Appliquer)?.event.do.*', - '/ce_internet_prive_ti/pageOperationEnCoursDetail.event.do.*', TiCardPage) - ti_corporate_card = URL('/ce_internet_corporate_ti/operationCorporateEnCoursDetail.builder.do', TiCardPage) - ti_histo = URL('/ce_internet_prive_ti/operationHistoDetail.builder.do', - '/ce_internet_(prive|corporate)_ti/operation(Corporate)?HistoDetail(Afficher|Appliquer)?.event.do.*', - '/ce_internet_prive_ti/pageOperationHistoDetail.event.do.*', TiHistoPage) - ti_corporate_histo = URL('/ce_internet_corporate_ti/operationCorporateHistoDetail.builder.do', TiHistoPage) + ti_card = URL(r'/ce_internet_prive_ti/operationEnCoursDetail.builder.do', + r'/ce_internet_(prive|corporate)_ti/operation(Corporate)?EnCoursDetail(Afficher|Appliquer)?.event.do.*', + r'/ce_internet_prive_ti/pageOperationEnCoursDetail.event.do.*', TiCardPage) + ti_corporate_card = URL(r'/ce_internet_corporate_ti/operationCorporateEnCoursDetail.builder.do', TiCardPage) + ti_histo = URL(r'/ce_internet_prive_ti/operationHistoDetail.builder.do', + r'/ce_internet_(prive|corporate)_ti/operation(Corporate)?HistoDetail(Afficher|Appliquer)?.event.do.*', + r'/ce_internet_prive_ti/pageOperationHistoDetail.event.do.*', TiHistoPage) + ti_corporate_histo = URL(r'/ce_internet_corporate_ti/operationCorporateHistoDetail.builder.do', TiHistoPage) TIMEOUT = 60.0 def __init__(self, type, *args, **kwargs): diff --git a/modules/bnpcards/corporate/browser.py b/modules/bnpcards/corporate/browser.py index eb9b40057b0c147123f7e953f8a0e5014e008dd0..3ce446433f0ecd6ac07423e5ab6dee6b7e6da3d0 100644 --- a/modules/bnpcards/corporate/browser.py +++ b/modules/bnpcards/corporate/browser.py @@ -21,6 +21,7 @@ from weboob.exceptions import BrowserIncorrectPassword, BrowserPasswordExpired from weboob.browser import LoginBrowser, URL, need_login from weboob.tools.capabilities.bank.transactions import sorted_transactions +from weboob.tools.compat import basestring from .pages import LoginPage, ErrorPage, AccountsPage, TransactionsPage diff --git a/modules/bnpcards/corporate/pages.py b/modules/bnpcards/corporate/pages.py index 2c48d9f7826da073a8e8a828dcd29954a0d65d2f..1b1deccd735e124825ccfb2dec976fc2b52d1242 100644 --- a/modules/bnpcards/corporate/pages.py +++ b/modules/bnpcards/corporate/pages.py @@ -17,6 +17,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with this weboob module. If not, see . +from __future__ import unicode_literals + import re from datetime import date from dateutil.relativedelta import relativedelta @@ -60,7 +62,7 @@ class item(ItemElement): obj_label = CleanText('./td[1]') obj_type = Account.TYPE_CARD obj__status = CleanText('./td[5]') - obj_currency = u'EUR' + obj_currency = 'EUR' obj_url = Link('./td[2]/a') obj__company = Env('company', default=None) # this field is something used to make the module work, not something meant to be displayed to end users @@ -145,7 +147,7 @@ def assert_first_page_or_go_there(self): url = Attr('//table[@id="tgDecorationFoot"]//a[contains(text(), "1")]', 'href', default=None)(self.doc) if url is None: # at page=4, there is " ... <2> <3> 4" - url = Attr(u'//table[@id="tgDecorationFoot"]//a[contains(text(), "Première page")]', 'href')(self.doc) + url = Attr('//table[@id="tgDecorationFoot"]//a[contains(text(), "Première page")]', 'href')(self.doc) self.browser.location(url) diff --git a/modules/bnpcards/module.py b/modules/bnpcards/module.py index 45565eba9fb63267559d0a9fa40958aafdbf74ce..0ae65765781122007ebcb9325269471db5ed5042 100644 --- a/modules/bnpcards/module.py +++ b/modules/bnpcards/module.py @@ -17,6 +17,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with this weboob module. If not, see . +from __future__ import unicode_literals from weboob.tools.backend import Module, BackendConfig from weboob.capabilities.bank import CapBank, AccountNotFound @@ -31,16 +32,24 @@ class BnpcartesentrepriseModule(Module, CapBank): NAME = 'bnpcards' - DESCRIPTION = u'BNP Cartes Entreprises' - MAINTAINER = u'Baptiste Delpey' + DESCRIPTION = 'BNP Cartes Entreprises' + MAINTAINER = 'Baptiste Delpey' EMAIL = 'bdelpey@budget-insight.fr' LICENSE = 'LGPLv3+' VERSION = '1.6' - CONFIG = BackendConfig(ValueBackendPassword('login', label='Identifiant', masked=False), - ValueBackendPassword('password', label='Code personnel'), - Value('type', label='Profil de connexion', default='1', - choices={'1': 'Titulaire', - '2': 'Gestionnaire'})) + CONFIG = BackendConfig( + ValueBackendPassword('login', label='Identifiant', masked=False), + ValueBackendPassword('password', label='Code personnel'), + Value( + 'type', + label='Profil de connexion', + default='1', + choices={ + '1': 'Titulaire', + '2': 'Gestionnaire', + } + ) + ) BROWSER = ProxyBrowser diff --git a/modules/bnpcards/pages.py b/modules/bnpcards/pages.py index 4e889f08ab32ea664bbc74570a4ef1f8b06f2b55..f1abcbe0bc5cbf4355cd6abaa2119fc37be1a597 100644 --- a/modules/bnpcards/pages.py +++ b/modules/bnpcards/pages.py @@ -17,6 +17,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with this weboob module. If not, see . +from __future__ import unicode_literals + import re from datetime import date from decimal import Decimal @@ -119,7 +121,7 @@ class item(ItemElement): obj_type = Account.TYPE_CARD obj__rib = Env('rib') obj__company = Env('company', default=None) # this field is something used to make the module work, not something meant to be displayed to end users - obj_currency = u'EUR' + obj_currency = 'EUR' obj_number = CleanText('./td[2]', replace=[(' ', '')]) obj_url = AbsoluteLink('./td[2]/a') @@ -203,7 +205,7 @@ class item(ItemElement): obj_label = Format('%s %s', CleanText('//table[@class="params"]/tr/td[1]/b[2]'), Field('id')) obj_type = Account.TYPE_CARD obj__nav_num = Attr('.', 'value') - obj_currency = u'EUR' + obj_currency = 'EUR' obj__company = Env('company', default=None) # this field is something used to make the module work, not something meant to be displayed to end users def get_balance(self): diff --git a/tools/py3-compatible.modules b/tools/py3-compatible.modules index 598df53ff6b9cd9c10baf0310146a8dd17a8ebd3..8fa88cee942a2288c20553d5227be61bbd52a164 100644 --- a/tools/py3-compatible.modules +++ b/tools/py3-compatible.modules @@ -29,6 +29,7 @@ binck biplan blablacar blogspot +bnpcards bnporc bnppere bolden