supporting mouvements.html and situation_financiere.html
This commit is contained in:
parent
3ca0e5c7d0
commit
c2bb904138
2 changed files with 22 additions and 7 deletions
|
|
@ -42,8 +42,10 @@ class CICBrowser(Browser):
|
||||||
PAGES = {'https://www.cic.fr/.*/fr/banques/particuliers/index.html': LoginPage,
|
PAGES = {'https://www.cic.fr/.*/fr/banques/particuliers/index.html': LoginPage,
|
||||||
'https://www.cic.fr/.*/fr/identification/default.cgi': LoginErrorPage,
|
'https://www.cic.fr/.*/fr/identification/default.cgi': LoginErrorPage,
|
||||||
'https://www.cic.fr/.*/fr/banque/situation_financiere.cgi': AccountsPage,
|
'https://www.cic.fr/.*/fr/banque/situation_financiere.cgi': AccountsPage,
|
||||||
|
'https://www.cic.fr/.*/fr/banque/situation_financiere.html': AccountsPage,
|
||||||
'https://www.cic.fr/.*/fr/banque/espace_personnel.aspx': UserSpacePage,
|
'https://www.cic.fr/.*/fr/banque/espace_personnel.aspx': UserSpacePage,
|
||||||
'https://www.cic.fr/.*/fr/banque/mouvements.cgi.*': OperationsPage,
|
'https://www.cic.fr/.*/fr/banque/mouvements.cgi.*': OperationsPage,
|
||||||
|
'https://www.cic.fr/.*/fr/banque/mouvements.html.*': OperationsPage,
|
||||||
'https://www.cic.fr/.*/fr/banque/mvts_instance.cgi.*': ComingPage,
|
'https://www.cic.fr/.*/fr/banque/mvts_instance.cgi.*': ComingPage,
|
||||||
'https://www.cic.fr/.*/fr/banque/nr/nr_devbooster.aspx.*': OperationsPage,
|
'https://www.cic.fr/.*/fr/banque/nr/nr_devbooster.aspx.*': OperationsPage,
|
||||||
'https://www.cic.fr/.*/fr/banque/operations_carte\.cgi.*': CardPage,
|
'https://www.cic.fr/.*/fr/banque/operations_carte\.cgi.*': CardPage,
|
||||||
|
|
@ -101,7 +103,7 @@ class CICBrowser(Browser):
|
||||||
self.currentSubBank = url.path.lstrip('/').split('/')[0]
|
self.currentSubBank = url.path.lstrip('/').split('/')[0]
|
||||||
|
|
||||||
def list_operations(self, page_url):
|
def list_operations(self, page_url):
|
||||||
if page_url.startswith('/'):
|
if page_url.startswith('/') or page_url.startswith('https'):
|
||||||
self.location(page_url)
|
self.location(page_url)
|
||||||
else:
|
else:
|
||||||
self.location('https://%s/%s/fr/banque/%s' % (self.DOMAIN, self.currentSubBank, page_url))
|
self.location('https://%s/%s/fr/banque/%s' % (self.DOMAIN, self.currentSubBank, page_url))
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,11 @@ class AccountsPage(Page):
|
||||||
|
|
||||||
for tr in self.document.getiterator('tr'):
|
for tr in self.document.getiterator('tr'):
|
||||||
first_td = tr.getchildren()[0]
|
first_td = tr.getchildren()[0]
|
||||||
if (first_td.attrib.get('class', '') == 'i g' or first_td.attrib.get('class', '') == 'p g') \
|
if (first_td.attrib.get('class', '') == 'i g' \
|
||||||
and first_td.find('a') is not None:
|
or first_td.attrib.get('class', '') == 'p g' \
|
||||||
|
or 'i _c1' in first_td.attrib.get('class', '') \
|
||||||
|
or 'p _c1' in first_td.attrib.get('class', '')) \
|
||||||
|
and first_td.find('a') is not None:
|
||||||
|
|
||||||
a = first_td.find('a')
|
a = first_td.find('a')
|
||||||
link = a.get('href', '')
|
link = a.get('href', '')
|
||||||
|
|
@ -97,8 +100,12 @@ class AccountsPage(Page):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for i in (2,1):
|
for i in (2,1):
|
||||||
balance = FrenchTransaction.clean_amount(tr.getchildren()[i].text)
|
if tr.getchildren()[i].text is None:
|
||||||
currency = Account.get_currency(tr.getchildren()[i].text)
|
amout = tr.getchildren()[i].getchildren()[0].text
|
||||||
|
else:
|
||||||
|
amout = tr.getchildren()[i].text
|
||||||
|
balance = FrenchTransaction.clean_amount(amout)
|
||||||
|
currency = Account.get_currency(amout)
|
||||||
if len(balance) > 0:
|
if len(balance) > 0:
|
||||||
break
|
break
|
||||||
balance = Decimal(balance)
|
balance = Decimal(balance)
|
||||||
|
|
@ -114,7 +121,12 @@ class AccountsPage(Page):
|
||||||
|
|
||||||
account = Account()
|
account = Account()
|
||||||
account.id = id
|
account.id = id
|
||||||
account.label = unicode(a.text).strip().lstrip(' 0123456789').title()
|
|
||||||
|
if len(a.getchildren()) > 0:
|
||||||
|
account.label = u' '.join([unicode(c.text) for c in a.getchildren()])
|
||||||
|
else:
|
||||||
|
account.label = unicode(a.text)
|
||||||
|
account.label.strip().lstrip(' 0123456789').title()
|
||||||
|
|
||||||
for pattern, actype in self.TYPES.iteritems():
|
for pattern, actype in self.TYPES.iteritems():
|
||||||
if account.label.startswith(pattern):
|
if account.label.startswith(pattern):
|
||||||
|
|
@ -183,7 +195,8 @@ class OperationsPage(Page):
|
||||||
|
|
||||||
if tds[0].attrib.get('class', '') == 'i g' or \
|
if tds[0].attrib.get('class', '') == 'i g' or \
|
||||||
tds[0].attrib.get('class', '') == 'p g' or \
|
tds[0].attrib.get('class', '') == 'p g' or \
|
||||||
tds[0].attrib.get('class', '').endswith('_c1 c _c1'):
|
tds[0].attrib.get('class', '').endswith('_c1 c _c1') or \
|
||||||
|
tds[0].attrib.get('class', '').endswith('_c1 i _c1'):
|
||||||
operation = Transaction(0)
|
operation = Transaction(0)
|
||||||
|
|
||||||
parts = [txt.strip() for txt in tds[-3].itertext() if len(txt.strip()) > 0]
|
parts = [txt.strip() for txt in tds[-3].itertext() if len(txt.strip()) > 0]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue