diff options
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 |
commit | ee8753949d874035db38b7d6451835fe49377e7f (patch) | |
tree | ee97974bad052ebe96230b8bd2ee7f00589fbd1c /ishtar_common/data_importer.py | |
parent | f63bcf8bb9c8ea83546e0a4f886f321533c1cbfe (diff) | |
download | Ishtar-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.py | 12 |
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(): |