Manual for Validators and Converters¶
CKAN has the validator mechanism to check if the given value is valid. CKAN also comes with converters to transform the given value into a valid value.
Internal Validators and Converters¶
-
ckanext.data_depositario.converters.
remove_blank_wrap
(value, context)¶ Remove blank and text wrap in the value.
-
ckanext.data_depositario.converters.
value_string_convert
(key, data, errors, context)¶ Takes a list of values that is a comma-separated string (in data[key]) and parses values. These are added to the data dict, enumerated. Borrowed from tag_string_convert in CKAN core.
External Validators and Converters¶
- if_empty_same_as(name)
- Return the value in the
name
field if the provided value is empty. - unicode
- Checks that the provided value (if it is present) is a valid unicode string.
- not_empty
- Only check if the provided value is empty.
- package_name_validator
- Check that no package with the given name already exists and limit the length of the name from 2 characters to 100 characters.
- scheming_required
- If the field is required, apply the
not_empty
validator. Otherwise, apply theignore_missing
validator. - scheming_choices
- Must be empty or one of the field choices values.
- ignore_missing
- By putting
ignore_missing
at the start of the schema list for a field, you can allow users to post a dataset or resource without the field and the dataset or resource will pass validation. But if they post a dataset or resource that does contain the field, then any validators after ignore_missing in the dataset’s or resource’s schema list will be applied. - tag_string_convert
- Check that if the tag is a valid unicode string, -, _, or . characters. And limit the length of the tag from 1 characters to 100 characters.
- ignore_empty
- Accept the empty string.
- wikidata_keyword
- Must be in the form of Python list (e.g.,
["Q1", "Q2"]
) or string (e.g.,"Q1, Q2"
). - scheming_multiple_choice
- Must be in the form of Python list (e.g.,
["Q1", "Q2"]
) or string (e.g.,"Q1, Q2"
). And the values must be in the field choices values. - is_positive_integer
- Must be a postive integer.
- owner_org_validator
- Must be “no project” or an existing project.
- email_validator
- Must be in a valid email address.
- remove_whitespace
- Remove the leading and trailing whitespace characters in the string.
- if_empty_guess_format
- Guess file format if it is empty.
- clean_format
- Convert the filename extension to lower case.
Validators and Converters Used for Metadata¶
Dataset Level¶
Note
Default validators for optional fields: ignore_missing unicode
Basic Information¶
Field Name | Validators and Converters |
---|---|
Title | if_empty_same_as(name) unicode |
URL | not_empty unicode package_name_validator |
Description | Default validators for optional fields |
Data Type | scheming_required scheming_multiple_choice |
Wikidata Keywords | wikidata_keyword |
Tags | ignore_missing tag_string_convert |
Language | value_string_convert scheming_multiple_choice |
Remarks | Default validators for optional fields |
Spatio-temporal Information¶
Field Name | Validators and Converters |
---|---|
Temporal Resolution | scheming_required scheming_choices |
Start Time | ignore_empty |
End Time | ignore_empty end_time_validator |
Spatial | ignore_empty json_validator remove_blank_wrap |
X.min | ignore_empty long_validator |
X.max | ignore_empty long_validator |
Y.min | ignore_empty lat_validator |
Y.max | ignore_empty lat_validator |
Spatial Resolution | ignore_empty positive_float_validator |
Management Information¶
Field Name | Validators and Converters |
---|---|
License | Default validators for required fields |
Creator | Default validators for required fields |
Created Time | ignore_empty date_validator |
Process Step | Default validators for optional fields |
Project | owner_org_validator unicode |
Contact Person | Default validators for optional fields |
Contact Person Email | ignore_missing unicode email_validator |
Resource Level¶
Field Name | Validators and Converters |
---|---|
URL | ignore_missing unicode remove_whitespace |
Name | Default validators for optional fields |
Description | Default validators for optional fields |
Character Encoding | scheming_required scheming_choices |
Coordinate Systems | ignore_empty is_positive_integer |
Format | if_empty_guess_format ignore_missing clean_format unicode |