Validación¶
Módulo “validator” de Pydatajson
Contiene los métodos para validar el perfil de metadatos de un catálogo.
-
pydatajson.validation.
is_valid_catalog
(catalog, validator=None)[fuente]¶ Valida que un archivo data.json cumpla con el schema definido.
Chequea que el data.json tiene todos los campos obligatorios y que tanto los campos obligatorios como los opcionales siguen la estructura definida en el schema.
Parámetros: catalog (str o dict) – Catálogo (dict, JSON o XLSX) a ser validado. Devuelve: True si el data.json cumple con el schema, sino False. Tipo del valor devuelto: bool
-
pydatajson.validation.
validate_catalog
(catalog, only_errors=False, fmt=u'dict', export_path=None, validator=None)[fuente]¶ Analiza un data.json registrando los errores que encuentra.
Chequea que el data.json tiene todos los campos obligatorios y que tanto los campos obligatorios como los opcionales siguen la estructura definida en el schema.
Parámetros: - catalog (str o dict) – Catálogo (dict, JSON o XLSX) a ser validado.
- only_errors (bool) – Si es True sólo se reportan los errores.
- fmt (str) –
Indica el formato en el que se desea el reporte. «dict» es el reporte más verborrágico respetando la
estructura del data.json.- »list» devuelve un dict con listas de errores formateados para
- generar tablas.
- export_path (str) – Path donde exportar el reporte generado (en formato XLSX o CSV). Si se especifica, el método no devolverá nada, a pesar de que se pase algún argumento en fmt.
Devuelve: Diccionario resumen de los errores encontrados:
{ "status": "OK", # resultado de la validación global "error": { "catalog": { "status": "OK", "errors": [] "title": "Título Catalog"}, "dataset": [ { "status": "OK", "errors": [], "title": "Titulo Dataset 1" }, { "status": "ERROR", "errors": [error1_info, error2_info, ...], "title": "Titulo Dataset 2" } ] } }
Donde errorN_info es un dict con la información del N-ésimo error encontrado, con las siguientes claves: «path», «instance», «message», «validator», «validator_value», «error_code».
Tipo del valor devuelto: dict