summaryrefslogtreecommitdiff
path: root/chimere/utils.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-03-18 17:45:26 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-03-18 17:45:26 +0100
commita46efae7bf7a9a0f8a2ccaffdfe0d18ffcb2a0d2 (patch)
tree1321baae4984cd6d1cd236f5d6d418552ffd26c8 /chimere/utils.py
parente424f21a8c03ad4a09b37b7a626493cbc7bb4459 (diff)
downloadChimère-a46efae7bf7a9a0f8a2ccaffdfe0d18ffcb2a0d2.tar.bz2
Chimère-a46efae7bf7a9a0f8a2ccaffdfe0d18ffcb2a0d2.zip
Manage versions on OSM import
Diffstat (limited to 'chimere/utils.py')
-rw-r--r--chimere/utils.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/chimere/utils.py b/chimere/utils.py
index e243c34..62d3786 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -149,6 +149,7 @@ class OSMManager(ImportManager):
for node in tree.xpath('//node'):
name, point, linestring = None, None, None
node_id = node.attrib.get('id')
+ version = node.attrib.get('version')
for item in node:
k = item.attrib.get('k')
if k == 'name':
@@ -157,7 +158,8 @@ class OSMManager(ImportManager):
node.get('lat'))
if point:
dct = {'point':point,
- 'name':name,}
+ 'name':name,
+ 'import_version':version}
m = None
if node_id:
dct_import = {
@@ -165,6 +167,9 @@ class OSMManager(ImportManager):
'import_source':self.importer_instance.source_url}
try:
m = Marker.objects.get(**dct_import)
+ if version and m.import_version == int(version):
+ # no update since the last import
+ continue
for k in dct:
setattr(m, k, dct[k])
m.save()