Skip to content
Snippets Groups Projects
Commit 7198dba3 authored by Thorge Petersen's avatar Thorge Petersen
Browse files

Code formatting

parent 8e011e05
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
import logging import logging
import csv import csv
import re import re
import urllib.request, urllib.error, urllib.parse import urllib.request
import urllib.error
import urllib.parse
import json import json
import ckan.logic as logic import ckan.logic as logic
...@@ -69,27 +71,28 @@ def validate_extra_groups(data, requireAtLeastOne, errors): ...@@ -69,27 +71,28 @@ def validate_extra_groups(data, requireAtLeastOne, errors):
def validate_extras(key, data, errors, context): def validate_extras(key, data, errors, context):
log.debug("Validating extras") log.debug("Validating extras")
extra_errors = {} extra_errors = {}
isStaNord = ('id',) in data and data[('id',)][:7] == 'StaNord' isStaNord = ('id',) in data and data[('id',)][:7] == 'StaNord'
harvesting = ('ignore_auth' in context) and (context['ignore_auth'] == True) harvesting = ('ignore_auth' in context) and (
context['ignore_auth'] == True)
owner_org = data[('owner_org',)] owner_org = data[('owner_org',)]
lenient_with = tk.config.get('ckanext.odsh.lenient_with','') lenient_with = tk.config.get('ckanext.odsh.lenient_with', '')
is_optional_temporal_start = toolkit.asbool( is_optional_temporal_start = toolkit.asbool(
tk.config.get('ckanext.odsh.is_optional_temporal_start', False) tk.config.get('ckanext.odsh.is_optional_temporal_start', False)
) or ( harvesting and (owner_org in lenient_with) ) ) or (harvesting and (owner_org in lenient_with))
require_at_least_one_category = toolkit.asbool( require_at_least_one_category = toolkit.asbool(
tk.config.get('ckanext.odsh.require_at_least_one_category', False) tk.config.get('ckanext.odsh.require_at_least_one_category', False)
) )
validate_extra_groups( validate_extra_groups(
data=data, data=data,
requireAtLeastOne=require_at_least_one_category, requireAtLeastOne=require_at_least_one_category,
errors=extra_errors errors=extra_errors
) )
is_date_start_before_date_end(data, extra_errors) is_date_start_before_date_end(data, extra_errors)
validate_extra_date_new( validate_extra_date_new(
key=key, key=key,
field='issued', field='issued',
...@@ -101,7 +104,7 @@ def validate_extras(key, data, errors, context): ...@@ -101,7 +104,7 @@ def validate_extras(key, data, errors, context):
key=key, key=key,
field='temporal_start', field='temporal_start',
data=data, data=data,
optional=is_optional_temporal_start, optional=is_optional_temporal_start,
errors=extra_errors errors=extra_errors
) )
validate_extra_date_new( validate_extra_date_new(
...@@ -115,6 +118,7 @@ def validate_extras(key, data, errors, context): ...@@ -115,6 +118,7 @@ def validate_extras(key, data, errors, context):
if len(list(extra_errors.values())): if len(list(extra_errors.values())):
raise toolkit.Invalid(extra_errors) raise toolkit.Invalid(extra_errors)
def is_date_start_before_date_end(data, extra_errors): def is_date_start_before_date_end(data, extra_errors):
start_date = _extract_value(data, 'temporal_start') start_date = _extract_value(data, 'temporal_start')
end_date = _extract_value(data, 'temporal_end') end_date = _extract_value(data, 'temporal_end')
...@@ -122,6 +126,7 @@ def is_date_start_before_date_end(data, extra_errors): ...@@ -122,6 +126,7 @@ def is_date_start_before_date_end(data, extra_errors):
if start_date > end_date: if start_date > end_date:
extra_errors['temporal_start'] = extra_errors['temporal_end'] = 'Please enter a valid period of time.' extra_errors['temporal_start'] = extra_errors['temporal_end'] = 'Please enter a valid period of time.'
def _set_value(data, field, value): def _set_value(data, field, value):
key = None key = None
for k in list(data.keys()): for k in list(data.keys()):
...@@ -209,7 +214,7 @@ def known_spatial_uri(key, data, errors, context): ...@@ -209,7 +214,7 @@ def known_spatial_uri(key, data, errors, context):
poly = pkg.extras.get('spatial', None) poly = pkg.extras.get('spatial', None)
if (not poly) and require_spatial_uri: if (not poly) and require_spatial_uri:
raise toolkit.Invalid(error_message_spatial_uri_empty) raise toolkit.Invalid(error_message_spatial_uri_empty)
#if has_old_uri and require_spatial_uri: # if has_old_uri and require_spatial_uri:
# raise toolkit.Invalid(error_message_spatial_uri_empty) # raise toolkit.Invalid(error_message_spatial_uri_empty)
else: else:
if poly: if poly:
...@@ -219,7 +224,8 @@ def known_spatial_uri(key, data, errors, context): ...@@ -219,7 +224,8 @@ def known_spatial_uri(key, data, errors, context):
return return
extension_path = pkg_resources.resource_filename('ckanext.odsh', '') extension_path = pkg_resources.resource_filename('ckanext.odsh', '')
mapping_path = tk.config.get('ckanext.odsh.spatial.mapping', extension_path + '/resources/schleswig-holstein_geojson.csv') mapping_path = tk.config.get('ckanext.odsh.spatial.mapping',
extension_path + '/resources/schleswig-holstein_geojson.csv')
not_found = True not_found = True
spatial_text = str() spatial_text = str()
...@@ -265,7 +271,7 @@ def _copy_spatial_uri_temp_to_extras(data): ...@@ -265,7 +271,7 @@ def _copy_spatial_uri_temp_to_extras(data):
data[('extras', next_index, 'value')] = spatial_uri data[('extras', next_index, 'value')] = spatial_uri
else: else:
_set_value(data, 'spatial_uri', spatial_uri) _set_value(data, 'spatial_uri', spatial_uri)
def next_extra_index(data): def next_extra_index(data):
current_indexes = [k[1] for k in list(data.keys()) current_indexes = [k[1] for k in list(data.keys())
...@@ -279,7 +285,8 @@ def validate_relatedPackage(data): ...@@ -279,7 +285,8 @@ def validate_relatedPackage(data):
try: try:
get_package_dict(data) get_package_dict(data)
except logic.NotFound: except logic.NotFound:
raise toolkit.Invalid("relatedPackage: package '{}' not found".format(data)) raise toolkit.Invalid(
"relatedPackage: package '{}' not found".format(data))
def validate_formats(data, errors): def validate_formats(data, errors):
...@@ -287,7 +294,8 @@ def validate_formats(data, errors): ...@@ -287,7 +294,8 @@ def validate_formats(data, errors):
raise toolkit.Invalid('Missing format.') raise toolkit.Invalid('Missing format.')
if not any(data.upper() == obj['key'] for obj in odsh_resource_formats()): if not any(data.upper() == obj['key'] for obj in odsh_resource_formats()):
raise toolkit.Invalid(_('Only formats on the list of the EU Publications Office are allowed.')) raise toolkit.Invalid(
_('Only formats on the list of the EU Publications Office are allowed.'))
return data return data
...@@ -297,7 +305,8 @@ def tag_name_validator(value, context): ...@@ -297,7 +305,8 @@ def tag_name_validator(value, context):
""" """
tagname_match = re.compile(r'^(?=.*[^\n])[^\n]*$', re.UNICODE) tagname_match = re.compile(r'^(?=.*[^\n])[^\n]*$', re.UNICODE)
if not tagname_match.match(value): if not tagname_match.match(value):
raise toolkit.Invalid(_('Invalid tag: "%s". Tags cannot contain line breaks.') % (value)) raise toolkit.Invalid(
_('Invalid tag: "%s". Tags cannot contain line breaks.') % (value))
return value return value
...@@ -306,7 +315,7 @@ def get_validators(): ...@@ -306,7 +315,7 @@ def get_validators():
'known_spatial_uri': known_spatial_uri, 'known_spatial_uri': known_spatial_uri,
'odsh_validate_extras': validate_extras, 'odsh_validate_extras': validate_extras,
'validate_licenseAttributionByText': validate_licenseAttributionByText, 'validate_licenseAttributionByText': validate_licenseAttributionByText,
'validate_relatedPackage': validate_relatedPackage, 'validate_relatedPackage': validate_relatedPackage,
'odsh_validate_format': validate_formats, 'odsh_validate_format': validate_formats,
'tag_name_validator': tag_name_validator, 'tag_name_validator': tag_name_validator,
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment