summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r--ishtar_common/data_importer.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index 4519241af..3bcd62415 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -1632,7 +1632,10 @@ class Importer(object):
for k in create_dict.keys():
# filter unnecessary default values but not the json field
if type(create_dict[k]) == dict and k != 'data':
- create_dict.pop(k)
+ if self.simulate:
+ create_dict[k] = _(u"* created *")
+ else:
+ create_dict.pop(k)
# File doesn't like deepcopy
elif type(create_dict[k]) == File:
create_dict[k] = copy.copy(data[k])
@@ -1776,16 +1779,26 @@ class Importer(object):
# force post save script
v.save()
if self.simulate:
+ # put m2m result in data dict
+ current_data = data
+ if m2ms:
+ for item in path:
+ if item not in current_data:
+ current_data[item] = {}
+ current_data = current_data[item]
+ for key, value in m2ms:
+ if not isinstance(value, list) and \
+ not isinstance(value, tuple):
+ value = [value]
+ current_data[key] = value
+
if created:
- for k in dct.keys():
- # do not present empty value
- if dct[k] in (None, ''):
- dct.pop(k)
- return _(u"* created item *"), True
+ return dct, True
else:
# defaults are not presented as matching data
dct.pop('defaults')
return self.updated_objects[-1][1], False
+
if m2ms:
# force post save script
obj.save()