From 88c5159f52d6d6948f02f917a272616475d48438 Mon Sep 17 00:00:00 2001 From: florian-dacosta Date: Wed, 23 Jul 2014 17:55:39 +0200 Subject: [PATCH 1/4] [FIX] conversion_dict is now created in the generic parser --- account_statement_base_import/parser/file_parser.py | 11 ++--------- .../parser/generic_file_parser.py | 9 ++++++++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/account_statement_base_import/parser/file_parser.py b/account_statement_base_import/parser/file_parser.py index 125605f2..ad810169 100644 --- a/account_statement_base_import/parser/file_parser.py +++ b/account_statement_base_import/parser/file_parser.py @@ -42,7 +42,7 @@ class FileParser(BankStatementImportParser): """ :param char: parse_name: The name of the parser :param char: ftype: extension of the file (could be csv, xls or xlsx) - :param dict: extra_fields: extra fields to add to the conversion dict. In the format + :param dict: extra_fields: extra fields to put into the conversion dict. In the format {fieldname: fieldtype} :param list: header : specify header fields if the csv file has no header """ @@ -53,14 +53,7 @@ class FileParser(BankStatementImportParser): else: raise except_osv(_('User Error'), _('Invalid file type %s. Please use csv, xls or xlsx') % ftype) - self.conversion_dict = { - 'ref': unicode, - 'label': unicode, - 'date': datetime.datetime, - 'amount': float_or_zero, - } - if extra_fields: - self.conversion_dict.update(extra_fields) + self.conversion_dict = extra_fields self.keys_to_validate = self.conversion_dict.keys() self.fieldnames = header self._datemode = 0 # used only for xls documents, diff --git a/account_statement_base_import/parser/generic_file_parser.py b/account_statement_base_import/parser/generic_file_parser.py index 81e51c8c..e60bedf9 100644 --- a/account_statement_base_import/parser/generic_file_parser.py +++ b/account_statement_base_import/parser/generic_file_parser.py @@ -24,6 +24,7 @@ import csv import tempfile import datetime from file_parser import FileParser ++from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero try: import xlrd except: @@ -38,7 +39,13 @@ class GenericFileParser(FileParser): """ def __init__(self, parse_name, ftype='csv', **kwargs): - super(GenericFileParser, self).__init__(parse_name, ftype=ftype, **kwargs) + conversion_dict = { + 'ref': unicode, + 'label': unicode, + 'date': datetime.datetime, + 'amount': float_or_zero, + } + super(GenericFileParser, self).__init__(parse_name, ftype=ftype, extra_fields=conversion_dict, **kwargs) @classmethod def parser_for(cls, parser_name): From 600fb4dd86b134ab55cd3d8e69df08f27be45445 Mon Sep 17 00:00:00 2001 From: florian-dacosta Date: Wed, 23 Jul 2014 20:03:03 +0200 Subject: [PATCH 2/4] replace unicode by ustr --- .../parser/generic_file_parser.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/account_statement_base_import/parser/generic_file_parser.py b/account_statement_base_import/parser/generic_file_parser.py index e60bedf9..04149d1b 100644 --- a/account_statement_base_import/parser/generic_file_parser.py +++ b/account_statement_base_import/parser/generic_file_parser.py @@ -24,7 +24,8 @@ import csv import tempfile import datetime from file_parser import FileParser -+from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero +from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero +from openerp.loglevels import ustr try: import xlrd except: @@ -40,8 +41,8 @@ class GenericFileParser(FileParser): def __init__(self, parse_name, ftype='csv', **kwargs): conversion_dict = { - 'ref': unicode, - 'label': unicode, + 'ref': ustr, + 'label': ustr, 'date': datetime.datetime, 'amount': float_or_zero, } From 92c523709d077befebd961196a583bcd8c24c94c Mon Sep 17 00:00:00 2001 From: florian-dacosta Date: Thu, 24 Jul 2014 10:56:31 +0200 Subject: [PATCH 3/4] import ustr from tools --- account_statement_base_import/parser/generic_file_parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_statement_base_import/parser/generic_file_parser.py b/account_statement_base_import/parser/generic_file_parser.py index 04149d1b..c1da333b 100644 --- a/account_statement_base_import/parser/generic_file_parser.py +++ b/account_statement_base_import/parser/generic_file_parser.py @@ -25,7 +25,7 @@ import tempfile import datetime from file_parser import FileParser from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero -from openerp.loglevels import ustr +from openerp.tools import ustr try: import xlrd except: From 5db3d914d18f1476a722fa077eebf3e5033a4c00 Mon Sep 17 00:00:00 2001 From: florian-dacosta Date: Wed, 17 Sep 2014 10:32:23 +0200 Subject: [PATCH 4/4] fix pep8 col --- .../parser/generic_file_parser.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/account_statement_base_import/parser/generic_file_parser.py b/account_statement_base_import/parser/generic_file_parser.py index c1da333b..14be05c9 100644 --- a/account_statement_base_import/parser/generic_file_parser.py +++ b/account_statement_base_import/parser/generic_file_parser.py @@ -24,7 +24,9 @@ import csv import tempfile import datetime from file_parser import FileParser -from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero +from openerp.addons.account_statement_base_import.parser.file_parser import ( + float_or_zero +) from openerp.tools import ustr try: import xlrd @@ -46,7 +48,9 @@ class GenericFileParser(FileParser): 'date': datetime.datetime, 'amount': float_or_zero, } - super(GenericFileParser, self).__init__(parse_name, ftype=ftype, extra_fields=conversion_dict, **kwargs) + super(GenericFileParser, self).__init__(parse_name, ftype=ftype, + extra_fields=conversion_dict, + **kwargs) @classmethod def parser_for(cls, parser_name):