diff --git a/pylintrc b/pylintrc new file mode 100644 index 0000000000000000000000000000000000000000..8a12125d4b71d3df5f7866277c41ee15401a4a93 --- /dev/null +++ b/pylintrc @@ -0,0 +1,9 @@ +# -*- mode:conf; -*- + +[FORMAT] +# Good variable names which should always be accepted, separated by a comma +good-names=ii,rt + + +[TYPECHECK] +ignored-modules=etree diff --git a/pytest.ini b/pytest.ini index 211913fa06d4e0a46c9c9024e147c5313e4746e1..e65efaf9aaf061a8a1ec0040f87d682536fac4c2 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,3 @@ [pytest] testpaths = unittests addopts = -vv -python_paths = src diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py index 41ef90fa50c9e4800a028b69823bbb67d75b6add..0baee1dbf98feeff118d54015606489a986e77d9 100644 --- a/src/caosadvancedtools/models/parser.py +++ b/src/caosadvancedtools/models/parser.py @@ -99,6 +99,7 @@ class YamlDefinitionError(RuntimeError): class JsonSchemaDefinitionError(RuntimeError): # @author Florian Spreckelsen # @date 2022-02-17 + # @review Daniel Hornung 2022-02-18 def __init__(self, msg): super().__init__(msg) @@ -121,6 +122,7 @@ def parse_model_from_json_schema(filename: str): """Return a datamodel parsed from a json schema definition.""" # @author Florian Spreckelsen # @date 2022-02-17 + # @review Daniel Hornung 2022-02-18 parser = JsonSchemaParser() return parser.parse_model_from_json_schema(filename) @@ -466,6 +468,7 @@ class JsonSchemaParser(Parser): """Extends the yaml parser to read in datamodels defined in a json schema.""" # @author Florian Spreckelsen # @date 2022-02-17 + # @review Daniel Hornung 2022-02-18 def parse_model_from_json_schema(self, filename: str): """Return a datamodel created from the definition in the json schema in @@ -506,12 +509,10 @@ class JsonSchemaParser(Parser): model_dict = [model_dict] for ii, elt in enumerate(model_dict): - if not "title" in elt: - raise JsonSchemaDefinitionError( - "Object {} is lacking the `title` key word".format(ii+1)) - if not "type" in elt: - raise JsonSchemaDefinitionError( - "Object {} is lacking the `type` key word".format(ii+1)) + if "title" not in elt: + raise JsonSchemaDefinitionError(f"Object {ii+1} is lacking the `title` key word") + if "type" not in elt: + raise JsonSchemaDefinitionError(f"Object {ii+1} is lacking the `type` key word") name = self._stringify(elt["title"], context=elt) self._treat_element(elt, name) @@ -535,8 +536,7 @@ class JsonSchemaParser(Parser): elif elt["type"] == "object": ent = self._treat_record_type(elt, name) else: - raise NotImplementedError( - "Cannot parse items of type '{}' (yet).".format(elt["type"])) + raise NotImplementedError(f"Cannot parse items of type '{elt['type']}' (yet).") if "description" in elt: ent.description = elt["description"] @@ -552,7 +552,7 @@ class JsonSchemaParser(Parser): if "properties" in elt: for key, prop in elt["properties"].items(): if "title" in prop: - name = self._stringify(title) + name = self._stringify(prop["title"]) else: name = self._stringify(key) prop_ent = self._treat_element(prop, name)