diff --git a/weboob/backends/bnporc/backend.py b/weboob/backends/bnporc/backend.py index 98e9d051..299dfe31 100644 --- a/weboob/backends/bnporc/backend.py +++ b/weboob/backends/bnporc/backend.py @@ -65,17 +65,14 @@ class BNPorcBackend(BaseBackend, ICapBank): yield account def get_account(self, _id): - try: - _id = long(_id) - except ValueError: + if not _id.isdigit(): raise AccountNotFound() + with self.browser: + account = self.browser.get_account(_id) + if account: + return account else: - with self.browser: - account = self.browser.get_account(_id) - if account: - return account - else: - raise AccountNotFound() + raise AccountNotFound() def iter_history(self, account): with self.browser: @@ -92,10 +89,10 @@ class BNPorcBackend(BaseBackend, ICapBank): account = account.id try: - account = long(account) - to = long(to) + assert account.isdigit() + assert to.isdigit() amount = float(amount) - except ValueError: + except (AssertionError, ValueError): raise AccountNotFound() with self.browser: diff --git a/weboob/backends/bnporc/browser.py b/weboob/backends/bnporc/browser.py index e353d258..312aa796 100644 --- a/weboob/backends/bnporc/browser.py +++ b/weboob/backends/bnporc/browser.py @@ -104,14 +104,14 @@ class BNPorc(BaseBrowser): return self.page.get_list() def get_account(self, id): - assert isinstance(id, (int, long)) + assert isinstance(id, (str, unicode)) if not self.is_on_page(pages.AccountsList): self.location('/NSFR?Action=DSP_VGLOBALE') l = self.page.get_list() for a in l: - if long(a.id) == id: + if a.id == id: return a return None diff --git a/weboob/backends/bnporc/pages/transfer.py b/weboob/backends/bnporc/pages/transfer.py index d4425794..782d9d1f 100644 --- a/weboob/backends/bnporc/pages/transfer.py +++ b/weboob/backends/bnporc/pages/transfer.py @@ -33,7 +33,7 @@ class TransferPage(BasePage): if table.attrib.get('cellspacing') == '2': for tr in table.cssselect('tr.hdoc1, tr.hdotc1'): tds = tr.findall('td') - id = long(tds[1].text.replace(u'\xa0', u'')) + id = tds[1].text.replace(u'\xa0', u'') if id == from_id: if tds[4].find('input') is None: raise TransferError("Unable to make a transfer from %s" % from_id) diff --git a/weboob/backends/cragr/backend.py b/weboob/backends/cragr/backend.py index ffce70ef..73273027 100644 --- a/weboob/backends/cragr/backend.py +++ b/weboob/backends/cragr/backend.py @@ -46,16 +46,13 @@ class CragrBackend(BaseBackend, ICapBank): yield account def get_account(self, _id): - try: - _id = long(_id) - except ValueError: + if not _id.isdigit(): raise AccountNotFound() + account = self.browser.get_account(_id) + if account: + return account else: - account = self.browser.get_account(_id) - if account: - return account - else: - raise AccountNotFound() + raise AccountNotFound() def iter_operations(self, account): """ TODO Not supported yet """ diff --git a/weboob/backends/cragr/browser.py b/weboob/backends/cragr/browser.py index 98cbf556..44cce587 100644 --- a/weboob/backends/cragr/browser.py +++ b/weboob/backends/cragr/browser.py @@ -70,7 +70,7 @@ class Cragr(BaseBrowser): return self.page.get_list() def get_account(self, id): - assert isinstance(id, (int, long)) + assert isinstance(id, (str, unicode)) l = self.get_accounts_list() for a in l: diff --git a/weboob/backends/lcl/backend.py b/weboob/backends/lcl/backend.py index 050dc605..64f09c62 100644 --- a/weboob/backends/lcl/backend.py +++ b/weboob/backends/lcl/backend.py @@ -46,16 +46,13 @@ class LCLBackend(BaseBackend, ICapBank): yield account def get_account(self, _id): - try: - _id = long(_id) - except ValueError: + if not _id.isdigit(): raise AccountNotFound() + account = self.browser.get_account(_id) + if account: + return account else: - account = self.browser.get_account(_id) - if account: - return account - else: - raise AccountNotFound() + raise AccountNotFound() def iter_operations(self, account): """ TODO Not supported yet """ diff --git a/weboob/backends/lcl/browser.py b/weboob/backends/lcl/browser.py index 9f0971b8..073c6147 100644 --- a/weboob/backends/lcl/browser.py +++ b/weboob/backends/lcl/browser.py @@ -61,7 +61,7 @@ class LCLBrowser(BaseBrowser): return self.page.get_list() def get_account(self, id): - assert isinstance(id, (int, long)) + assert isinstance(id, (str, unicode)) l = self.get_accounts_list() for a in l: