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