fix support of deferred transactions
This commit is contained in:
parent
0d11694605
commit
9aa27eb225
3 changed files with 17 additions and 4 deletions
|
|
@ -60,8 +60,12 @@ class BarclaysBackend(BaseBackend, ICapBank):
|
||||||
|
|
||||||
def iter_history(self, account):
|
def iter_history(self, account):
|
||||||
with self.browser:
|
with self.browser:
|
||||||
return self.browser.get_history(account)
|
for tr in self.browser.get_history(account):
|
||||||
|
if not tr._coming:
|
||||||
|
yield tr
|
||||||
|
|
||||||
def iter_coming(self, account):
|
def iter_coming(self, account):
|
||||||
with self.browser:
|
with self.browser:
|
||||||
return self.browser.get_coming_operations(account)
|
for tr in self.browser.get_card_operations(account):
|
||||||
|
if tr._coming:
|
||||||
|
yield tr
|
||||||
|
|
|
||||||
|
|
@ -103,9 +103,13 @@ class Barclays(BaseBrowser):
|
||||||
|
|
||||||
assert self.is_on_page((TransactionsPage, ValuationPage, LoanPage))
|
assert self.is_on_page((TransactionsPage, ValuationPage, LoanPage))
|
||||||
|
|
||||||
return self.page.get_history()
|
for tr in self.page.get_history():
|
||||||
|
yield tr
|
||||||
|
|
||||||
def get_coming_operations(self, account):
|
for tr in self.get_card_operations(account):
|
||||||
|
yield tr
|
||||||
|
|
||||||
|
def get_card_operations(self, account):
|
||||||
for card in account._card_links:
|
for card in account._card_links:
|
||||||
if not self.is_on_page(AccountsPage):
|
if not self.is_on_page(AccountsPage):
|
||||||
self.location('tbord.do')
|
self.location('tbord.do')
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,7 @@ class TransactionsPage(BasePage):
|
||||||
credit = u''.join([txt.strip() for txt in tds[-2].itertext()])
|
credit = u''.join([txt.strip() for txt in tds[-2].itertext()])
|
||||||
t.parse(date, re.sub(r'[ ]+', ' ', raw))
|
t.parse(date, re.sub(r'[ ]+', ' ', raw))
|
||||||
t.set_amount(credit, debit)
|
t.set_amount(credit, debit)
|
||||||
|
t._coming = False
|
||||||
|
|
||||||
if t.raw.startswith('ACHAT CARTE -DEBIT DIFFERE'):
|
if t.raw.startswith('ACHAT CARTE -DEBIT DIFFERE'):
|
||||||
continue
|
continue
|
||||||
|
|
@ -152,6 +153,7 @@ class TransactionsPage(BasePage):
|
||||||
class CardPage(BasePage):
|
class CardPage(BasePage):
|
||||||
def get_history(self):
|
def get_history(self):
|
||||||
debit_date = None
|
debit_date = None
|
||||||
|
coming = True
|
||||||
for tr in self.document.xpath('//table[@class="report"]/tbody/tr'):
|
for tr in self.document.xpath('//table[@class="report"]/tbody/tr'):
|
||||||
tds = tr.findall('td')
|
tds = tr.findall('td')
|
||||||
|
|
||||||
|
|
@ -159,6 +161,8 @@ class CardPage(BasePage):
|
||||||
# headers
|
# headers
|
||||||
m = re.match('.* (\d+)/(\d+)/(\d+)', tds[0].text.strip())
|
m = re.match('.* (\d+)/(\d+)/(\d+)', tds[0].text.strip())
|
||||||
debit_date = datetime.date(int(m.group(3)), int(m.group(2)), int(m.group(1)))
|
debit_date = datetime.date(int(m.group(3)), int(m.group(2)), int(m.group(1)))
|
||||||
|
if debit_date < datetime.date.today():
|
||||||
|
coming = False
|
||||||
|
|
||||||
if len(tds) != 3:
|
if len(tds) != 3:
|
||||||
continue
|
continue
|
||||||
|
|
@ -172,6 +176,7 @@ class CardPage(BasePage):
|
||||||
t.date = debit_date
|
t.date = debit_date
|
||||||
t.label = unicode(tds[1].find('span').text.strip())
|
t.label = unicode(tds[1].find('span').text.strip())
|
||||||
t.type = t.TYPE_CARD
|
t.type = t.TYPE_CARD
|
||||||
|
t._coming = coming
|
||||||
t.set_amount(amount)
|
t.set_amount(amount)
|
||||||
yield t
|
yield t
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue