class item(ItemElement): klass = FrenchTransaction obj_rdate = Date(CleanText(Dict('Processing date'))) obj_date = Date(CleanText(Dict('Transaction date'))) obj_raw = FrenchTransaction.Raw(CleanText(Dict('corporate name'))) obj_amount = FrenchTransaction.Amount(CleanText( Dict('charged amt')), replace_dots=False) obj_original_amount = FrenchTransaction.Amount(CleanText( Dict('orig. currency gross amt')), replace_dots=False) obj_original_currency = CleanText(Dict('orig. currency code')) obj_country = CleanText(Dict('country cde')) obj_type = FrenchTransaction.TYPE_CARD def condition(self): return False def has_data(self): return not Dict().filter( self.el)['processing date'] == u'No data found' def check_debit(self): return Dict().filter(self.el)['debit / credit'] == 'D'
class item(ItemElement): klass = FrenchTransaction obj_rdate = FrenchTransaction.Date(CleanText('./td[1]')) obj_date = FrenchTransaction.Date(CleanText('./td[3]')) obj_raw = FrenchTransaction.Raw(CleanText('./td[2]')) _obj_amnt = FrenchTransaction.Amount(CleanText('./td[5]'), replace_dots=False) obj_original_amount = FrenchTransaction.Amount( CleanText('./td[4]'), replace_dots=False) obj_original_currency = FrenchTransaction.Currency( CleanText('./td[4]')) obj_commission = FrenchTransaction.Amount(CleanText('./td[6]'), replace_dots=False) def obj__coming(self): if Field('date')(self) >= date.today(): return True return def obj_amount(self): if not Field('obj_commission'): return Field('_obj_amnt') else: return CleanDecimal(replace_dots=False).filter( self.el.xpath('./td[5]')) - CleanDecimal( replace_dots=False).filter( self.el.xpath('./td[6]'))
class debit(item): obj_amount = FrenchTransaction.Amount(CleanText(Env('amount')), replace_dots=False) obj_original_amount = FrenchTransaction.Amount(CleanText( Env('original_amount')), replace_dots=False) def condition(self): if self.has_data() and self.check_debit(): self.env['amount'] = "-" + self.el['charged amt'] self.env['original_amount'] = "-" + self.el[ 'orig. currency gross amt'] return True return False
class item(Transaction.TransactionElement): obj_amount = Transaction.Amount('./td[last()]') obj_date = AccountsPage.MyDate(CleanText(TableCell('date')))