diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py index 39bbd2e85bb7f3f71e9e84eb5f9cb6ae33e3f56c..e5ac0b02f97c10f0f72a24837a2cf200b05edb48 100644 --- a/ckanext/odsh/plugin.py +++ b/ckanext/odsh/plugin.py @@ -157,10 +157,6 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm ] }) - for i, item in enumerate(schema['tag_string']): - if item == tag_string_convert: - schema['tag_string'][i] = validation.tag_string_convert - schema['resources'].update({ 'url': [toolkit.get_converter('not_empty')], 'format': [toolkit.get_converter('odsh_validate_format')], diff --git a/ckanext/odsh/tests_wip/test_validation.py b/ckanext/odsh/tests_wip/test_validation.py index 55136e2df2dd28ebfde6be6929aafd160a06e152..f2c4335393a58d4f49846a3df6c61da8eea46c99 100644 --- a/ckanext/odsh/tests_wip/test_validation.py +++ b/ckanext/odsh/tests_wip/test_validation.py @@ -42,17 +42,6 @@ def test_get_validators(): assert get_validators() -# @patch('toolkit.get_validator', side_effect=lambda a: None) -def test_tag_string_convert(): - # arrange - data = {'tag_string': 'tag1,tag2'} - # act - tag_string_convert('tag_string', data, {}, None) - # assert - assert data[('tags', 0, 'name')] == 'tag1' - assert data[('tags', 1, 'name')] == 'tag2' - - @patch('urllib.request.urlopen') @patch('pylons.config.get', side_effect='foo') @patch('csv.reader', side_effect=[[['uri', 'text', json.dumps({"geometry": 0})]]]) @@ -116,24 +105,6 @@ def test_tag_name_validator_valid(): tag_name_validator('Regionalplan für den Planungsraum_I: (5.8 – Windenergie_an_Land)', None) -def test_tag_length_validator_invalid(): - min = int(toolkit.config.get('ckanext.odsh.min_tag_length',2)) - max = int(toolkit.config.get('ckanext.odsh.max_tag_length',100)) - if max_tag_length > 100: - max_tag_length = 100 - length = round((min + max) / 2) - test_string = _create_test_string(length) - with pytest.raises(Exception): - tag_length_validator(test_string, None) - - -def test_tag_length_validator_valid(): - max = int(toolkit.config.get('ckanext.odsh.max_tag_length',100)) - length = max + 1 - test_string = _create_test_string(length) - tag_length_validator(test_string, None) - - def _create_test_string(length): base_string = "Lorem ipsum dolor sit amet." num_repetitions = (length // len(base_string)) + 1 diff --git a/ckanext/odsh/validation.py b/ckanext/odsh/validation.py index 6c14d7a677da84065452518b20a4b71403469cc3..14151edb6910e859fd6f7294376f70af70805f55 100644 --- a/ckanext/odsh/validation.py +++ b/ckanext/odsh/validation.py @@ -270,28 +270,6 @@ def next_extra_index(data): return max(current_indexes) + 1 if current_indexes else 0 -def tag_string_convert(key, data, errors, context): - '''Takes a list of tags that is a comma-separated string (in data[key]) - and parses tag names. These are added to the data dict, enumerated. They - are also validated.''' - if isinstance(data[key], str): - tags = [tag.strip() - for tag in data[key].split(',') - if tag.strip()] - else: - tags = data[key] - - current_index = max([int(k[1]) for k in list(data.keys()) - if len(k) == 3 and k[0] == 'tags'] + [-1]) - - for num, tag in zip(count(current_index+1), tags): - data[('tags', num, 'name')] = tag - - for tag in tags: - tag_length_validator(tag, context) - tag_name_validator(tag, context) - - def validate_relatedPackage(data): if data: try: @@ -310,26 +288,6 @@ def validate_formats(data, errors): return data -def tag_length_validator(value, context): - """Ensures that tag length is in the acceptable range. - """ - min_tag_length = int(tk.config.get('ckanext.odsh.min_tag_length',2)) - max_tag_length = int(tk.config.get('ckanext.odsh.max_tag_length',100)) - - if max_tag_length > 100: - max_tag_length = 100 - - if len(value) < min_tag_length: - raise toolkit.Invalid( - _('Tag "%s" length is less than minimum %s') % (value, min_tag_length) - ) - if len(value) > max_tag_length: - raise toolkit.Invalid( - _('Tag "%s" length is more than maximum %i') % (value, max_tag_length) - ) - return value - - def tag_name_validator(value, context): """Allow tag name to contain any characters but no newlines """ @@ -347,5 +305,4 @@ def get_validators(): 'validate_relatedPackage': validate_relatedPackage, 'odsh_validate_format': validate_formats, 'tag_name_validator': tag_name_validator, - 'tag_length_validator': tag_length_validator, }