From 5c91818332320b0d48300687d5f74f20c230b904 Mon Sep 17 00:00:00 2001 From: Benjamin <benjamin@le-filament.com> Date: Thu, 12 Nov 2020 16:12:47 +0100 Subject: [PATCH] [mig] migration v12 --- __manifest__.py | 7 +++--- wizard/account_bank_statement_import.py | 31 ++++++++++++++----------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/__manifest__.py b/__manifest__.py index 91f0449..e4d1366 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -2,15 +2,16 @@ { 'name': 'Import BPCE Bank Statement', 'category': 'Banking addons', - 'version': '10.0.1.0.0', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'author': 'Odoo SA,' 'Akretion,' 'La Louve,' 'GRAP,' 'Nicolas JEUDY,' - 'Aurélien DUMAINE', - 'Odoo Community Association (OCA)', + 'Aurélien DUMAINE,' + 'Odoo Community Association (OCA),' + 'Le Filament', 'website': 'https://odoo-community.org/', 'depends': [ 'account_bank_statement_import', diff --git a/wizard/account_bank_statement_import.py b/wizard/account_bank_statement_import.py index b658ef5..f05d037 100644 --- a/wizard/account_bank_statement_import.py +++ b/wizard/account_bank_statement_import.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import logging -import StringIO +from io import StringIO import re import datetime @@ -59,43 +59,48 @@ class AccountBankStatementImport(models.TransientModel): def _check_file(self, data_file): try: file_version = "version_A" - #for files generated before june 2017 - test_versionA = re.compile(self.regexp_version[file_version]['line_1']).search(data_file[0]) + # for files generated before june 2017 + test_versionA = re.compile( + self.regexp_version[file_version]['line_1']).search(data_file[0]) if (test_versionA == None): - #for files generated after june 2017 and before decembre 2017 + # for files generated after june 2017 and before decembre 2017 file_version = "version_B" - test_versionB = re.compile(self.regexp_version[file_version]['line_1']).search(data_file[0]) + test_versionB = re.compile( + self.regexp_version[file_version]['line_1']).search(data_file[0]) if (test_versionB == None): - #for files generated after december 2017 + # for files generated after december 2017 file_version = "version_C" - parse_line_1 = re.compile(self.regexp_version[file_version]['line_1']).search(data_file[0]) + parse_line_1 = re.compile( + self.regexp_version[file_version]['line_1']).search(data_file[0]) bank_group_code = parse_line_1.group('bank_group_code') openning_date = parse_line_1.group('opening_date') closing_date = parse_line_1.group('closing_date') - parse_line_2 = re.compile(self.regexp_version[file_version]['line_2']).search(data_file[1]) + parse_line_2 = re.compile( + self.regexp_version[file_version]['line_2']).search(data_file[1]) bank_account_number = parse_line_2.group('bank_account_number') currency = parse_line_2.group('currency') closing_balance = float(re.compile(self.regexp_version[file_version]['line_closing_balance']).search(data_file[3]).group('balance').replace(',','.')) opening_balance = float(re.compile(self.regexp_version[file_version]['line_opening_balance']).search(data_file[len(data_file)-1]).group('balance').replace(',','.')) - except Exception as e: - _logger.debug(e) + _logger.error(e) return False - return (file_version,bank_group_code,openning_date,closing_date,bank_account_number,opening_balance,closing_balance,currency) + return (file_version, bank_group_code, openning_date, closing_date, + bank_account_number, opening_balance, closing_balance, + currency) @api.model def _parse_file(self, data_file): - data_file = data_file.splitlines() + data_file = data_file.decode('iso-8859-1').splitlines() result = self._check_file(data_file) if not result: return super(AccountBankStatementImport, self)._parse_file( data_file) - file_version,bank_group_code,openning_date,closing_date,bank_account_number,opening_balance,closing_balance,currency = result + file_version, bank_group_code, openning_date, closing_date, bank_account_number, opening_balance, closing_balance, currency = result transactions = [] total_amt = 0.00 try: -- GitLab