diff options
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 |
commit | 8d2fb762f22d4899941b5cea2117365eb55a87d6 (patch) | |
tree | 26ece5edb55f6f3aea316ac41d35964217fbd88e /chimere/utils.py | |
parent | af8522d68d00ff30bc188513525020f0eda3ae2d (diff) | |
download | Chimère-8d2fb762f22d4899941b5cea2117365eb55a87d6.tar.bz2 Chimère-8d2fb762f22d4899941b5cea2117365eb55a87d6.zip |
Imports: Manage overwrite optionaly
Diffstat (limited to 'chimere/utils.py')
-rw-r--r-- | chimere/utils.py | 12 |
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: |