diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-02-04 16:20:47 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:38:56 +0200 |
commit | 8c41c66665fe34195cd3329aebfaaa20de0e1ab5 (patch) | |
tree | 0d5fd1b1e9fccbf3b58e23c108bffd834997f849 /ishtar_common/views_item.py | |
parent | df8ac2b90a6e819e9199b168213c250e437eded9 (diff) | |
download | Ishtar-8c41c66665fe34195cd3329aebfaaa20de0e1ab5.tar.bz2 Ishtar-8c41c66665fe34195cd3329aebfaaa20de0e1ab5.zip |
Map JS: display clusters
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index f019fbcb3..72381ed8b 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1006,16 +1006,20 @@ def _format_geojson(rows): if not rows: return data geo_attr, name_attr = None, None - for attr in rows[0]: - if attr.endswith('point_2d'): - geo_attr = attr - if attr in ['name', 'cached_label']: - name_attr = attr + full, idx = len(rows), 0 + while not geo_attr and idx < full: + row = rows[idx] + for attr in row: + if attr.endswith('point_2d'): + geo_attr = attr + if attr in ['name', 'cached_label']: + name_attr = attr + idx += 1 if not geo_attr or not name_attr: return data for row in rows: feat = {'name': row[name_attr], 'id': row['id']} - if not row[geo_attr]: + if not row.get(geo_attr, None): data['no-geo'].append(feat) continue feature = {'type': 'Feature'} @@ -1206,6 +1210,9 @@ def get_item(model, func_name, default_name, extra_request_keys=None, except (ValueError, TypeError): row_nb = DEFAULT_ROW_NUMBER + if data_type == 'jso # no limit for mapn-map': # no limit for map + row_nb = None + dct_request_items = {} # filter requested fields @@ -1610,7 +1617,7 @@ def get_item(model, func_name, default_name, extra_request_keys=None, try: lnk_template = link_template lnk = lnk_template % reverse('show-' + default_name, - args=[data[0], '']) + args=[data[0], '']) except NoReverseMatch: logger.warning( '**WARN "show-' + default_name + '" args (' |