From 335b264998b3b8191a97865d0163010af542b9df Mon Sep 17 00:00:00 2001 From: Unknown <chbaeh@gmail.com> Date: Tue, 27 Nov 2018 21:04:30 +0100 Subject: [PATCH] write polygon json string to package --- ckanext/odsh/plugin.py | 8 +++++--- .../templates/package/snippets/package_basic_fields.html | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py index 1cedd760..bede7281 100644 --- a/ckanext/odsh/plugin.py +++ b/ckanext/odsh/plugin.py @@ -71,7 +71,7 @@ def known_spatial_uri(key, data, errors, context): try: mapping_file = urllib2.urlopen(mapping_file) except Exception: - print('Could not load spatial mapping file!') + raise toolkit.Invalid("Could not load spatial mapping file!") not_found = True spatial_text = str() @@ -81,7 +81,9 @@ def known_spatial_uri(key, data, errors, context): if row[0] == data[key]: not_found = False spatial_text = row[1] - spatial = row[2] + loaded = json.loads(row[2]) + spatial = json.dumps(loaded['geometry']) + print spatial break if not_found: raise toolkit.Invalid("The specified URI is not known.") @@ -210,7 +212,7 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm schema.update({field: [ toolkit.get_converter('not_empty'), toolkit.get_validator('ignore_missing'), - toolkit.get_validator('known_spatial_uri'), + toolkit.get_converter('known_spatial_uri'), toolkit.get_converter('convert_to_extras')]}) else: schema.update({field: [ diff --git a/ckanext/odsh/templates/package/snippets/package_basic_fields.html b/ckanext/odsh/templates/package/snippets/package_basic_fields.html index c22327c6..f0608720 100644 --- a/ckanext/odsh/templates/package/snippets/package_basic_fields.html +++ b/ckanext/odsh/templates/package/snippets/package_basic_fields.html @@ -3,6 +3,7 @@ <!-- field title --> {% block package_basic_fields_title %} +{{errors}} {% set error_string = _(_('Title') + ': '+errors.title[0]) if errors.title %} {{ form.input('title', id='field-title', label=_('Title'), value=data.title, error=error_string, classes=['control-full'], attrs={'data-module': 'slug-preview-target'}, -- GitLab