Source code for hestia_earth.validation.validators.organisation

from .shared import (
    validate_dates, validate_region_in_country, validate_country,
    need_validate_coordinates, validate_coordinates,
    validate_area, need_validate_area, validate_date_lt_today, validate_is_region
)


[docs]def validate_organisation_dates(organisation: dict): return validate_dates(organisation) or { 'level': 'error', 'dataPath': '.endDate', 'message': 'must be greater than startDate' }
[docs]def validate_organisation(organisation: dict, node_map: dict = {}): """ Validates a single `Organisation`. Parameters ---------- organisation : dict The `Organisation` to validate. node_map : dict The list of all nodes to do cross-validation, grouped by `type` and `id`. Returns ------- List The list of errors for the `Organisation`, which can be empty if no errors detected. """ return [ validate_organisation_dates(organisation), validate_date_lt_today(organisation, 'startDate'), validate_date_lt_today(organisation, 'endDate'), validate_country(organisation) if 'country' in organisation else True, validate_is_region(organisation) if 'region' in organisation else True, validate_region_in_country(organisation) if 'region' in organisation else True, validate_coordinates(organisation) if need_validate_coordinates(organisation) else True, validate_area(organisation) if need_validate_area(organisation) else True ]