paidiverpy.metadata_parser.ifdo_tools#
Utility functions for metadata parsing.
Functions#
|
validate_ifdo method. |
|
Load iFDO JSON schema. |
|
Convert metadata to iFDO format. |
|
Parse iFDO items from metadata. |
|
Parse iFDO header from dataset metadata. |
|
Map fields from dataset metadata to iFDO header. |
|
Map EXIF metadata to iFDO format. |
|
Format error message. |
|
Parse validation errors. |
|
Get required fields from iFDO schema. |
Module Contents#
- paidiverpy.metadata_parser.ifdo_tools.validate_ifdo(file_path: str | None = None, ifdo_data: dict[str, Any] | None = None) list[dict[str, Any]][source]#
validate_ifdo method.
Validates input data against iFDO scheme. Raises an exception if the data is invalid.
- paidiverpy.metadata_parser.ifdo_tools.load_json_schema(ifdo_version: str) dict[str, Any][source]#
Load iFDO JSON schema.
- paidiverpy.metadata_parser.ifdo_tools.convert_to_ifdo(dataset_metadata: dict[str, Any], metadata: pandas.DataFrame, output_path: str) None[source]#
Convert metadata to iFDO format.
- paidiverpy.metadata_parser.ifdo_tools.parse_ifdo_items(metadata: pandas.DataFrame, ifdo_schema: dict[str, Any]) tuple[dict[str, Any], list[str]][source]#
Parse iFDO items from metadata.
- paidiverpy.metadata_parser.ifdo_tools.parse_ifdo_header(dataset_metadata: dict[str, Any], ifdo_schema: dict[str, Any], metadata: pandas.DataFrame) tuple[dict[str, Any], list[str]][source]#
Parse iFDO header from dataset metadata.
- paidiverpy.metadata_parser.ifdo_tools.map_fields_to_ifdo(data: dict[str, Any], ifdo_data: dict[str, Any], schema: dict[str, Any], fields: list[str] | set[str], missing_fields: list[str], missing_fields_suffix: str = '', required: bool = False) dict[str, Any][source]#
Map fields from dataset metadata to iFDO header.
- Parameters:
data (dict) – Dataset metadata.
ifdo_data (dict) – iFDO data to populate.
schema (dict) – iFDO schema.
fields (list) – List of fields to map.
missing_fields (list) – List of missing fields.
missing_fields_suffix (str) – Suffix to append to missing fields.
required (bool) – Whether the fields are required.
- Returns:
Mapped iFDO header.
- Return type:
- paidiverpy.metadata_parser.ifdo_tools.map_exif_to_ifdo(metadata: dict[str, Any]) str | None | dict[str, Any][source]#
Map EXIF metadata to iFDO format.
- paidiverpy.metadata_parser.ifdo_tools.format_ifdo_validation_error(text: list[str]) str[source]#
Format error message.
- paidiverpy.metadata_parser.ifdo_tools.parse_validation_errors(errors: list[dict[str, Any]], schema: dict[str, Any]) list[dict[str, Any]][source]#
Parse validation errors.