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 .pages import AccountsList, LoginPage, NetissimaPage, TitrePage, TitreHistory,\
|
||||
TransferPage, TransferConfirmPage, BillsPage, StopPage, TitreDetails
|
||||
TransferPage, TransferConfirmPage, BillsPage, StopPage, TitreDetails, TitreValuePage
|
||||
|
||||
|
||||
__all__ = ['IngBrowser']
|
||||
|
|
@ -61,6 +61,7 @@ class IngBrowser(LoginBrowser):
|
|||
titrepage = URL('https://bourse.ingdirect.fr/priv/portefeuille-TR.php', TitrePage)
|
||||
titrehistory = URL('https://bourse.ingdirect.fr/priv/compte.php\?ong=3', TitreHistory)
|
||||
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
|
||||
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 .transfer import TransferPage, TransferConfirmPage
|
||||
from .bills import BillsPage
|
||||
from .titre import NetissimaPage, TitrePage, TitreHistory
|
||||
from .titre import NetissimaPage, TitrePage, TitreHistory, TitreValuePage
|
||||
|
||||
|
||||
class AccountPrelevement(AccountsList):
|
||||
|
|
@ -30,4 +30,5 @@ class AccountPrelevement(AccountsList):
|
|||
|
||||
__all__ = ['AccountsList', 'LoginPage', 'NetissimaPage','TitreDetails',
|
||||
'AccountPrelevement', 'TransferPage', 'TransferConfirmPage',
|
||||
'BillsPage', 'StopPage', 'TitrePage', 'TitreHistory']
|
||||
'BillsPage', 'StopPage', 'TitrePage', 'TitreHistory',
|
||||
'TitreValuePage']
|
||||
|
|
|
|||
|
|
@ -35,6 +35,11 @@ class Transaction(FrenchTransaction):
|
|||
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):
|
||||
def iter_investments(self):
|
||||
# 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]
|
||||
invest = Investment(_id)
|
||||
invest.label = unicode(columns[0].split('{')[-1])
|
||||
invest.code = _id.split(':')[0]
|
||||
if ':' in _id:
|
||||
invest.description = unicode(_id.split(':')[1])
|
||||
invest.code = unicode(_id)
|
||||
if ':' in invest.code:
|
||||
invest.code = self.browser.titrevalue.open(val=invest.code).get_isin()
|
||||
quantity = FrenchTransaction.clean_amount(columns[1])
|
||||
if quantity != '':
|
||||
invest.quantity = Decimal(quantity)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue