pydatajson package

Submodules

pydatajson.pydatajson module

Módulo principal de pydatajson

Contiene la clase DataJson que reúne los métodos públicos para trabajar con archivos data.json.

class pydatajson.pydatajson.DataJson(schema_filename=u'catalog.json', schema_dir=u'/home/docs/checkouts/readthedocs.org/user_builds/pydatajson/checkouts/0.1.3/pydatajson/schemas')[source]

Bases: object

Métodos para trabajar con archivos data.json.

ABSOLUTE_SCHEMA_DIR = u'/home/docs/checkouts/readthedocs.org/user_builds/pydatajson/checkouts/0.1.3/pydatajson/schemas'
DEFAULT_CATALOG_SCHEMA_FILENAME = u'catalog.json'
is_valid_catalog(datajson_path)[source]

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.

Args:
datajson_path (str): Path al archivo data.json a ser validado.
Returns:
bool: True si el data.json cumple con el schema, sino False.
validate_catalog(datajson_path)[source]

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.

Args:
datajson_path (str): Path al archivo data.json a ser validado.
Returns:

dict: 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”.

pydatajson.pydatajson.main()[source]

Permite ejecutar el módulo por línea de comandos.

Valida un path o url a un archivo data.json devolviendo True/False si es válido y luego el resultado completo.

Example:
python pydatajson.py http://181.209.63.71/data.json python pydatajson.py ~/github/pydatajson/tests/samples/full_data.json

Module contents