Source code for czml3.base

from typing import Any

from pydantic import BaseModel, model_validator

NON_DELETE_PROPERTIES = ["id", "delete"]


[docs] class BaseCZMLObject(BaseModel):
[docs] @model_validator(mode="before") @classmethod def validate_model_before(cls, data: dict[str, Any]) -> Any: if ( data is not None and isinstance(data, dict) and "delete" in data and data["delete"] ): return { "delete": True, "id": data.get("id"), **{k: None for k in data if k not in NON_DELETE_PROPERTIES}, } return data
def __str__(self) -> str: return self.to_json()
[docs] def dumps(self) -> str: return self.model_dump_json(exclude_none=True)
[docs] def to_json(self, *, indent: int = 4) -> str: return self.model_dump_json(exclude_none=True, indent=indent)