From eee4262e991be4d8bb8799f40460fdcc919c0ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr> Date: Fri, 14 Feb 2025 23:03:45 +0100 Subject: [PATCH] fix issue when strict base model schema is generated --- pydantic_pystac_extensions/__init__.py | 2 +- pydantic_pystac_extensions/core.py | 2 +- pydantic_pystac_extensions/schema.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pydantic_pystac_extensions/__init__.py b/pydantic_pystac_extensions/__init__.py index e377145..ab2948a 100644 --- a/pydantic_pystac_extensions/__init__.py +++ b/pydantic_pystac_extensions/__init__.py @@ -2,4 +2,4 @@ from .core import create_extension_cls, BaseExtensionModel # noqa -__version__ = "0.1.6" +__version__ = "0.1.7" diff --git a/pydantic_pystac_extensions/core.py b/pydantic_pystac_extensions/core.py index 4ed55dc..01d5a44 100644 --- a/pydantic_pystac_extensions/core.py +++ b/pydantic_pystac_extensions/core.py @@ -72,7 +72,7 @@ def create_extension_cls(model_cls: BaseModel, schema_uri: str) -> PropertiesExt md = md or model_cls(**kwargs) for key, value in md.model_dump(exclude_unset=True).items(): alias = model_cls.model_fields[key].alias or key - if value: + if value is not None: self._set_property(alias, value, pop_if_none=False) @classmethod diff --git a/pydantic_pystac_extensions/schema.py b/pydantic_pystac_extensions/schema.py index 35d33f6..3d8784a 100644 --- a/pydantic_pystac_extensions/schema.py +++ b/pydantic_pystac_extensions/schema.py @@ -8,8 +8,9 @@ def generate_schema( ) -> dict: """Generate the schema.""" properties = model_cls.model_json_schema() - # prune "required" + # prune "required" and "additionalProperties" properties.pop("required", None) + properties.pop("additionalProperties", None) return { "$schema": "http://json-schema.org/draft-07/schema#", "$id": schema_uri, -- GitLab