diff --git a/stac_validator/stac_validator.py b/stac_validator/stac_validator.py index 930e7ac2..1b216004 100755 --- a/stac_validator/stac_validator.py +++ b/stac_validator/stac_validator.py @@ -74,7 +74,10 @@ def __init__( level=numeric_log_level, ) logging.info("STAC Validator Started.") - self.stac_version = version + if version in ['master', 'latest'] or version.startswith("v"): + self.stac_version = version + else: + self.stac_version = f"v{version}" self.stac_file = stac_file.strip() self.dirpath = tempfile.mkdtemp() self.stac_spec_host = stac_spec_host @@ -205,7 +208,11 @@ def run(self): message["valid_stac"] = True except ValidationError as e: self.status[f"{self.stac_type}s"]["invalid"] += 1 - message.update(self.create_err_msg("ValidationError", e.message)) + if e.absolute_path: + err_msg = f"{e.message}. Error is in {' -> '.join([str(i) for i in e.absolute_path])}" + else: + err_msg = f"{e.message} of the root of the STAC object" + message.update(self.create_err_msg("ValidationError", err_msg )) self.message.append(message) diff --git a/tests/test_stac_validator.py b/tests/test_stac_validator.py index 8d2e1d93..71465e1b 100644 --- a/tests/test_stac_validator.py +++ b/tests/test_stac_validator.py @@ -55,7 +55,7 @@ def test_bad_item_validation_v090_verbose(): "schema": "https://cdn.staclint.com/v0.9.0/item.json", "valid_stac": False, "error_type": "ValidationError", - "error_message": "'id' is a required property", + "error_message": "'id' is a required property of the root of the STAC object", } ]