summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-07-30 12:49:27 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-07-30 12:49:27 +0200
commite6600be88c948873abf7da039e931a683090ab0e (patch)
tree4f9a4e3a6c29325102a91d97ea29bd62c53edadf
parentade915ba623932a0c9d65f49a7f001c00e369ff5 (diff)
downloadChimère-e6600be88c948873abf7da039e931a683090ab0e.tar.bz2
Chimère-e6600be88c948873abf7da039e931a683090ab0e.zip
Fix importer node for OSM import
-rw-r--r--chimere/utils.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/chimere/utils.py b/chimere/utils.py
index 7518076..66f5738 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -83,8 +83,11 @@ class ImportManager(object):
raise NotImplementedError
def create_or_update_item(self, cls, values, import_key, version=None,
- key='', pk=None, category=None):
+ key='', pk=None, category=None,
+ import_source=None):
from chimere.models import PropertyModel
+ if not import_source:
+ import_source = self.importer_instance.source
updated, created, item = False, False, None
import_key = str(import_key).replace(':', '^')
if not values.get('name'):
@@ -100,7 +103,7 @@ class ImportManager(object):
if import_key or pk:
dct_import = {
'import_key__icontains': '%s:%s;' % (key, import_key),
- 'import_source': self.importer_instance.source}
+ 'import_source': import_source}
ref_item = cls.objects.filter(**dct_import)
try:
item = None
@@ -139,7 +142,7 @@ class ImportManager(object):
values['description'] = \
self.importer_instance.default_description
values.update({
- 'import_source': self.importer_instance.source})
+ 'import_source': import_source})
values['status'] = self.importer_instance.default_status
try:
item = cls.objects.create(**values)
@@ -1049,7 +1052,8 @@ class OSMManager(ImportManager):
["{} {}".format(node.lon, node.lat)
for node in way.get_nodes(resolve_missing=True)]
)
- it, updated, created = self.create_or_update_item(cls, dct, pl_id)
+ it, updated, created = self.create_or_update_item(
+ cls, dct, pl_id, import_source="OSM")
if updated:
updated_item += 1
if created:
@@ -1061,7 +1065,8 @@ class OSMManager(ImportManager):
dct.update(self._get_attributes(node, filtr))
pl_id = "OSM-node-{}".format(node.id)
dct['point'] = 'SRID=4326;POINT({} {})'.format(node.lon, node.lat)
- it, updated, created = self.create_or_update_item(cls, dct, pl_id)
+ it, updated, created = self.create_or_update_item(
+ cls, dct, pl_id, import_source="OSM")
if updated:
updated_item += 1
if created: