fetch detail of transactions and use it in Transaction.raw
This commit is contained in:
parent
659cb51c9f
commit
406297ac9f
2 changed files with 12 additions and 4 deletions
|
|
@ -47,7 +47,9 @@ class LCLBrowser(LoginBrowser):
|
||||||
'/outil/UAUT/Contract/selectContracts.*',
|
'/outil/UAUT/Contract/selectContracts.*',
|
||||||
ContractsPage)
|
ContractsPage)
|
||||||
accounts = URL('/outil/UWSP/Synthese', AccountsPage)
|
accounts = URL('/outil/UWSP/Synthese', AccountsPage)
|
||||||
history = URL('/outil/UWLM/ListeMouvements.*/accesListeMouvements.*', AccountHistoryPage)
|
history = URL('/outil/UWLM/ListeMouvements.*/accesListeMouvements.*',
|
||||||
|
'/outil/UWLM/DetailMouvement.*/accesDetailMouvement.*',
|
||||||
|
AccountHistoryPage)
|
||||||
cb_list = URL('/outil/UWCB/UWCBEncours.*/listeCBCompte.*', CBListPage)
|
cb_list = URL('/outil/UWCB/UWCBEncours.*/listeCBCompte.*', CBListPage)
|
||||||
cb_history = URL('/outil/UWCB/UWCBEncours.*/listeOperations.*', CBHistoryPage)
|
cb_history = URL('/outil/UWCB/UWCBEncours.*/listeOperations.*', CBHistoryPage)
|
||||||
skip = URL('/outil/UAUT/Contrat/selectionnerContrat.*',
|
skip = URL('/outil/UAUT/Contrat/selectionnerContrat.*',
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,9 @@ from weboob.capabilities.bank import Account
|
||||||
from weboob.browser.elements import method, ListElement, ItemElement, SkipItem
|
from weboob.browser.elements import method, ListElement, ItemElement, SkipItem
|
||||||
from weboob.exceptions import ParseError
|
from weboob.exceptions import ParseError
|
||||||
from weboob.browser.pages import LoggedPage, HTMLPage, FormNotFound
|
from weboob.browser.pages import LoggedPage, HTMLPage, FormNotFound
|
||||||
|
from weboob.browser.filters.html import Attr
|
||||||
from weboob.browser.filters.standard import CleanText, Field, Regexp, Format, \
|
from weboob.browser.filters.standard import CleanText, Field, Regexp, Format, \
|
||||||
CleanDecimal, Map
|
CleanDecimal, Map, AsyncLoad, Async
|
||||||
from weboob.exceptions import BrowserUnavailable
|
from weboob.exceptions import BrowserUnavailable
|
||||||
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
|
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
|
||||||
from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard, VirtKeyboardError
|
from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard, VirtKeyboardError
|
||||||
|
|
@ -188,7 +189,7 @@ class AccountsPage(LoggedPage, HTMLPage):
|
||||||
class Transaction(FrenchTransaction):
|
class Transaction(FrenchTransaction):
|
||||||
PATTERNS = [(re.compile('^(?P<category>CB) (?P<text>RETRAIT) DU (?P<dd>\d+)/(?P<mm>\d+)'),
|
PATTERNS = [(re.compile('^(?P<category>CB) (?P<text>RETRAIT) DU (?P<dd>\d+)/(?P<mm>\d+)'),
|
||||||
FrenchTransaction.TYPE_WITHDRAWAL),
|
FrenchTransaction.TYPE_WITHDRAWAL),
|
||||||
(re.compile('^(?P<category>(PRLV|PE)) (?P<text>.*)'),
|
(re.compile('^(?P<category>(PRLV|PE)( SEPA)?) (?P<text>.*)'),
|
||||||
FrenchTransaction.TYPE_ORDER),
|
FrenchTransaction.TYPE_ORDER),
|
||||||
(re.compile('^(?P<category>CHQ\.) (?P<text>.*)'),
|
(re.compile('^(?P<category>CHQ\.) (?P<text>.*)'),
|
||||||
FrenchTransaction.TYPE_CHECK),
|
FrenchTransaction.TYPE_CHECK),
|
||||||
|
|
@ -220,6 +221,7 @@ class AccountHistoryPage(LoggedPage, HTMLPage):
|
||||||
col_raw = [u'Vos opérations', u'Libellé']
|
col_raw = [u'Vos opérations', u'Libellé']
|
||||||
|
|
||||||
class item(Transaction.TransactionElement):
|
class item(Transaction.TransactionElement):
|
||||||
|
load_details = Attr('.', 'href', default=None) & AsyncLoad
|
||||||
def condition(self):
|
def condition(self):
|
||||||
return self.parent.get_colnum('date') is not None and \
|
return self.parent.get_colnum('date') is not None and \
|
||||||
len(self.el.findall('td')) >= 3 and \
|
len(self.el.findall('td')) >= 3 and \
|
||||||
|
|
@ -227,7 +229,11 @@ class AccountHistoryPage(LoggedPage, HTMLPage):
|
||||||
not 'tableTr' in self.el.get('class')
|
not 'tableTr' in self.el.get('class')
|
||||||
|
|
||||||
def validate(self, obj):
|
def validate(self, obj):
|
||||||
return obj.category != 'RELEVE CB'
|
if obj.category == 'RELEVE CB':
|
||||||
|
return
|
||||||
|
|
||||||
|
obj.raw = Async('details', CleanText(u'//td[contains(text(), "Libellé")]/following-sibling::*[1]', default=obj.raw))(self)
|
||||||
|
return True
|
||||||
|
|
||||||
def get_operations(self):
|
def get_operations(self):
|
||||||
return self._get_operations()
|
return self._get_operations()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue