You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.1 KiB

  1. # Copyright 2014-2017 Akretion (http://www.akretion.com).
  2. # Copyright 2019 Tecnativa - Vicent Cubells
  3. # Copyright 2019 Brainbean Apps (https://brainbeanapps.com)
  4. # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
  5. from odoo import api, fields, models
  6. import logging
  7. _logger = logging.getLogger(__name__)
  8. class AccountBankStatementImport(models.TransientModel):
  9. _inherit = 'account.bank.statement.import'
  10. paypal_mapping_id = fields.Many2one(
  11. string='PayPal mapping',
  12. comodel_name='account.bank.statement.import.paypal.mapping',
  13. )
  14. @api.multi
  15. def _parse_file(self, data_file):
  16. self.ensure_one()
  17. try:
  18. Parser = self.env['account.bank.statement.import.paypal.parser']
  19. return Parser.parse(
  20. self.paypal_mapping_id,
  21. data_file,
  22. self.filename
  23. )
  24. except:
  25. if self.env.context.get(
  26. 'account_bank_statement_import_paypal_test'):
  27. raise
  28. _logger.warning('PayPal parser error', exc_info=True)
  29. return super()._parse_file(data_file)