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]'))