Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agrego parámetro validator_class #257

Closed
wants to merge 1 commit into from

Conversation

lucaslavandeira
Copy link
Contributor

Permite extender la funcionalidad de validación de catálogos. La clase
deberá implementar los métodos is_valid, que devuelve True o False según
el catálogo sea válido, e iter_errors, un generator de errores. La forma
más sencilla de cumplir los requerimientos es que el validador sea una
instancia de jsonschema.Draft4Validator, o de una clase que herede de
ésta.

Permite extender la funcionalidad de validación de catálogos. La clase
deberá implementar los métodos is_valid, que devuelve True o False según
el catálogo sea válido, e iter_errors, un generator de errores. La forma
más sencilla de cumplir los requerimientos es que el validador sea una
instancia de jsonschema.Draft4Validator, o de una clase que herede de
ésta.
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 82.812% when pulling 9d606a0 on 255-extend-validation into fcdbe9f on master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 82.812% when pulling 9d606a0 on 255-extend-validation into fcdbe9f on master.

@@ -337,3 +343,14 @@ def test_invalid_catalog_list_format(self):
error['message'] in [
reported['dataset_error_message'] for reported
in report_list['dataset']])

def test_specify_validator_class(self):
class MyValidator(Draft4Validator):

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Por qué es una clase creada dentro de un método? No es mejor tenerla afuera y poder llamarla?

@@ -51,7 +51,8 @@ class DataJson(dict):
CATALOG_FIELDS_PATH = os.path.join(ABSOLUTE_PROJECT_DIR, "fields")

def __init__(self, catalog=None, schema_filename=None, schema_dir=None,
default_values=None, catalog_format=None):
default_values=None, catalog_format=None,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Con tantos parámetros que encima pueden ser None se hace extensa la creación del objeto. Estaría bueno tener un objeto que los encapsule, construirlo con lo necesario (no necesariamente recibe todos al parecer) y pasarselo. De esta forma seguro hasta se pueda delegar lógica.

@lucaslavandeira
Copy link
Contributor Author

Cerrado, seguido en otro PR con cambios diferentes.

@lucaslavandeira lucaslavandeira deleted the 255-extend-validation branch August 16, 2019 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants