summaryrefslogtreecommitdiff
path: root/chimere/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/utils.py')
-rw-r--r--chimere/utils.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/chimere/utils.py b/chimere/utils.py
index 73eecd0..8a9855a 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -71,7 +71,7 @@ class ImportManager:
pass
def create_or_update_item(self, cls, values, import_key, version=None,
- key='', pk=None, overload=True):
+ key='', pk=None):
updated, created, item = False, False, None
import_key = unicode(import_key).replace(':', '^')
if not key:
@@ -88,7 +88,8 @@ class ImportManager:
if version and ref_item.import_version == int(version):
# no update since the last import
return ref_item, None, None
- if not overload and item.modified_since_import:
+ if not self.importer_instance.overwrite \
+ and ref_item.modified_since_import:
dct_import['ref_item'] = ref_item
else:
item = ref_item
@@ -96,6 +97,9 @@ class ImportManager:
setattr(item, k, values[k])
try:
item.save()
+ # force the modified_since_import status
+ item.modified_since_import = False
+ item.save()
except TypeError:
# error on data source
return None, False, False
@@ -684,7 +688,7 @@ class OSMManager(ImportManager):
or u'ODbL',
'import_version':version}
item, updated, created = self.create_or_update_item(
- Route, dct, node_id, version, overload=False)
+ Route, dct, node_id, version)
if updated:
updated_item += 1
if created:
@@ -717,7 +721,7 @@ class OSMManager(ImportManager):
or u'ODbL',
'import_version':version}
item, updated, created = self.create_or_update_item(
- Marker, dct, node_id, version, overload=False)
+ Marker, dct, node_id, version)
if updated:
updated_item += 1
if created: