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