diff options
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 |
commit | e6600be88c948873abf7da039e931a683090ab0e (patch) | |
tree | 4f9a4e3a6c29325102a91d97ea29bd62c53edadf | |
parent | ade915ba623932a0c9d65f49a7f001c00e369ff5 (diff) | |
download | Chimère-e6600be88c948873abf7da039e931a683090ab0e.tar.bz2 Chimère-e6600be88c948873abf7da039e931a683090ab0e.zip |
Fix importer node for OSM import
-rw-r--r-- | chimere/utils.py | 15 |
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: |