load ISIN code from details page if not available in the list
This commit is contained in:
parent
9fe4314835
commit
ba02773ce1
3 changed files with 13 additions and 6 deletions
|
|
@ -26,7 +26,7 @@ from weboob.capabilities.bank import Account, TransferError, AccountNotFound
|
||||||
from weboob.capabilities.base import find_object
|
from weboob.capabilities.base import find_object
|
||||||
|
|
||||||
from .pages import AccountsList, LoginPage, NetissimaPage, TitrePage, TitreHistory,\
|
from .pages import AccountsList, LoginPage, NetissimaPage, TitrePage, TitreHistory,\
|
||||||
TransferPage, TransferConfirmPage, BillsPage, StopPage, TitreDetails
|
TransferPage, TransferConfirmPage, BillsPage, StopPage, TitreDetails, TitreValuePage
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['IngBrowser']
|
__all__ = ['IngBrowser']
|
||||||
|
|
@ -61,6 +61,7 @@ class IngBrowser(LoginBrowser):
|
||||||
titrepage = URL('https://bourse.ingdirect.fr/priv/portefeuille-TR.php', TitrePage)
|
titrepage = URL('https://bourse.ingdirect.fr/priv/portefeuille-TR.php', TitrePage)
|
||||||
titrehistory = URL('https://bourse.ingdirect.fr/priv/compte.php\?ong=3', TitreHistory)
|
titrehistory = URL('https://bourse.ingdirect.fr/priv/compte.php\?ong=3', TitreHistory)
|
||||||
titrerealtime = URL('https://bourse.ingdirect.fr/streaming/compteTempsReelCK.php', TitrePage)
|
titrerealtime = URL('https://bourse.ingdirect.fr/streaming/compteTempsReelCK.php', TitrePage)
|
||||||
|
titrevalue = URL('https://bourse.ingdirect.fr/priv/fiche-valeur.php\?val=(?P<val>.*)&popup=1', TitreValuePage)
|
||||||
# CapBill
|
# CapBill
|
||||||
billpage = URL('/protected/pages/common/estatement/eStatement.jsf', BillsPage)
|
billpage = URL('/protected/pages/common/estatement/eStatement.jsf', BillsPage)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ from .accounts_list import AccountsList, TitreDetails
|
||||||
from .login import LoginPage, StopPage
|
from .login import LoginPage, StopPage
|
||||||
from .transfer import TransferPage, TransferConfirmPage
|
from .transfer import TransferPage, TransferConfirmPage
|
||||||
from .bills import BillsPage
|
from .bills import BillsPage
|
||||||
from .titre import NetissimaPage, TitrePage, TitreHistory
|
from .titre import NetissimaPage, TitrePage, TitreHistory, TitreValuePage
|
||||||
|
|
||||||
|
|
||||||
class AccountPrelevement(AccountsList):
|
class AccountPrelevement(AccountsList):
|
||||||
|
|
@ -30,4 +30,5 @@ class AccountPrelevement(AccountsList):
|
||||||
|
|
||||||
__all__ = ['AccountsList', 'LoginPage', 'NetissimaPage','TitreDetails',
|
__all__ = ['AccountsList', 'LoginPage', 'NetissimaPage','TitreDetails',
|
||||||
'AccountPrelevement', 'TransferPage', 'TransferConfirmPage',
|
'AccountPrelevement', 'TransferPage', 'TransferConfirmPage',
|
||||||
'BillsPage', 'StopPage', 'TitrePage', 'TitreHistory']
|
'BillsPage', 'StopPage', 'TitrePage', 'TitreHistory',
|
||||||
|
'TitreValuePage']
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,11 @@ class Transaction(FrenchTransaction):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TitreValuePage(LoggedPage, HTMLPage):
|
||||||
|
def get_isin(self):
|
||||||
|
return self.doc.xpath('//div[@id="headFiche"]//span[@id="test3"]/text()')[0].split(' - ')[0].strip()
|
||||||
|
|
||||||
|
|
||||||
class TitrePage(LoggedPage, RawPage):
|
class TitrePage(LoggedPage, RawPage):
|
||||||
def iter_investments(self):
|
def iter_investments(self):
|
||||||
# We did not get some html, but something like that (XX is a quantity, YY a price):
|
# We did not get some html, but something like that (XX is a quantity, YY a price):
|
||||||
|
|
@ -49,9 +54,9 @@ class TitrePage(LoggedPage, RawPage):
|
||||||
_id = columns[0].split('{')[2]
|
_id = columns[0].split('{')[2]
|
||||||
invest = Investment(_id)
|
invest = Investment(_id)
|
||||||
invest.label = unicode(columns[0].split('{')[-1])
|
invest.label = unicode(columns[0].split('{')[-1])
|
||||||
invest.code = _id.split(':')[0]
|
invest.code = unicode(_id)
|
||||||
if ':' in _id:
|
if ':' in invest.code:
|
||||||
invest.description = unicode(_id.split(':')[1])
|
invest.code = self.browser.titrevalue.open(val=invest.code).get_isin()
|
||||||
quantity = FrenchTransaction.clean_amount(columns[1])
|
quantity = FrenchTransaction.clean_amount(columns[1])
|
||||||
if quantity != '':
|
if quantity != '':
|
||||||
invest.quantity = Decimal(quantity)
|
invest.quantity = Decimal(quantity)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue