summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-02-23 01:15:37 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2015-05-06 15:59:57 +0200
commitee8753949d874035db38b7d6451835fe49377e7f (patch)
treeee97974bad052ebe96230b8bd2ee7f00589fbd1c /ishtar_common/data_importer.py
parentf63bcf8bb9c8ea83546e0a4f886f321533c1cbfe (diff)
downloadIshtar-ee8753949d874035db38b7d6451835fe49377e7f.tar.bz2
Ishtar-ee8753949d874035db38b7d6451835fe49377e7f.zip
Improve default value in imports
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r--ishtar_common/data_importer.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index fd4b05cbd..c6019652c 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -451,6 +451,7 @@ class Importer(object):
OBJECT_CLS = None
IMPORTED_LINE_FIELD = None
UNICITY_KEYS = []
+ EXTRA_DEFAULTS = {}
DEFAULTS = {}
ERRORS = {
'header_check':_(u"The given file is not correct. Check the file "
@@ -485,6 +486,12 @@ class Importer(object):
self.line_format = copy.copy(self.LINE_FORMAT)
self.import_instance = import_instance
self._defaults = self.DEFAULTS.copy()
+ # EXTRA_DEFAULTS are for multiple inheritance
+ if self.EXTRA_DEFAULTS:
+ for k in self.EXTRA_DEFAULTS:
+ if k not in self._defaults:
+ self._defaults[k] = {}
+ self._defaults[k].update(self.EXTRA_DEFAULTS[k])
self.history_modifier = history_modifier
self.output = output
self.result = []
@@ -497,6 +504,9 @@ class Importer(object):
self.history_modifier = User.objects.filter(
is_superuser=True).order_by('pk')[0]
+ def post_processing(self, item, data):
+ return item
+
def initialize(self, table, output='silent'):
"""
copy vals in columns and initialize formaters
@@ -706,6 +716,8 @@ class Importer(object):
for formater, val in self._post_processing:
formater.post_process(obj, data, val, owner=self.history_modifier)
+ obj = self.post_processing(obj, data)
+
# writing report
self.result.append([])
for k in data.keys():