mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
[FIX] conversion_dict is now created in the generic parser
This commit is contained in:
@@ -46,7 +46,7 @@ class FileParser(BankStatementImportParser):
|
|||||||
:param char: parse_name: The name of the parser
|
:param char: parse_name: The name of the parser
|
||||||
:param char: ftype: extension of the file (could be csv, xls or
|
:param char: ftype: extension of the file (could be csv, xls or
|
||||||
xlsx)
|
xlsx)
|
||||||
:param dict: extra_fields: extra fields to add to the conversion
|
:param dict: extra_fields: extra fields to put into the conversion
|
||||||
dict. In the format {fieldname: fieldtype}
|
dict. In the format {fieldname: fieldtype}
|
||||||
:param list: header : specify header fields if the csv file has no
|
:param list: header : specify header fields if the csv file has no
|
||||||
header
|
header
|
||||||
@@ -58,14 +58,7 @@ class FileParser(BankStatementImportParser):
|
|||||||
raise except_orm(
|
raise except_orm(
|
||||||
_('User Error'),
|
_('User Error'),
|
||||||
_('Invalid file type %s. Please use csv, xls or xlsx') % ftype)
|
_('Invalid file type %s. Please use csv, xls or xlsx') % ftype)
|
||||||
self.conversion_dict = {
|
self.conversion_dict = extra_fields
|
||||||
'ref': unicode,
|
|
||||||
'label': unicode,
|
|
||||||
'date': datetime.datetime,
|
|
||||||
'amount': float_or_zero,
|
|
||||||
}
|
|
||||||
if extra_fields:
|
|
||||||
self.conversion_dict.update(extra_fields)
|
|
||||||
self.keys_to_validate = self.conversion_dict.keys()
|
self.keys_to_validate = self.conversion_dict.keys()
|
||||||
self.fieldnames = header
|
self.fieldnames = header
|
||||||
self._datemode = 0 # used only for xls documents,
|
self._datemode = 0 # used only for xls documents,
|
||||||
|
|||||||
@@ -20,6 +20,11 @@
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
from file_parser import FileParser
|
from file_parser import FileParser
|
||||||
|
from openerp.addons.account_statement_base_import.parser.file_parser import float_or_zero
|
||||||
|
try:
|
||||||
|
import xlrd
|
||||||
|
except:
|
||||||
|
raise Exception(_('Please install python lib xlrd'))
|
||||||
|
|
||||||
|
|
||||||
class GenericFileParser(FileParser):
|
class GenericFileParser(FileParser):
|
||||||
@@ -30,8 +35,16 @@ class GenericFileParser(FileParser):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, parse_name, ftype='csv', **kwargs):
|
def __init__(self, parse_name, ftype='csv', **kwargs):
|
||||||
|
conversion_dict = {
|
||||||
|
'ref': unicode,
|
||||||
|
'label': unicode,
|
||||||
|
'date': datetime.datetime,
|
||||||
|
'amount': float_or_zero,
|
||||||
|
}
|
||||||
super(GenericFileParser, self).__init__(
|
super(GenericFileParser, self).__init__(
|
||||||
parse_name, ftype=ftype, **kwargs)
|
parse_name, ftype=ftype,
|
||||||
|
extra_fields=conversion_dict,
|
||||||
|
**kwargs)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def parser_for(cls, parser_name):
|
def parser_for(cls, parser_name):
|
||||||
|
|||||||
Reference in New Issue
Block a user