summaryrefslogtreecommitdiff
path: root/chimere/utils.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-12-08 00:12:12 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-12-08 00:15:52 +0100
commit8d2fb762f22d4899941b5cea2117365eb55a87d6 (patch)
tree26ece5edb55f6f3aea316ac41d35964217fbd88e /chimere/utils.py
parentaf8522d68d00ff30bc188513525020f0eda3ae2d (diff)
downloadChimère-8d2fb762f22d4899941b5cea2117365eb55a87d6.tar.bz2
Chimère-8d2fb762f22d4899941b5cea2117365eb55a87d6.zip
Imports: Manage overwrite optionaly
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: