Changeset a039f4a in flexoentity


Ignore:
Timestamp:
01/20/26 08:11:38 (6 weeks ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
main, master, unify_backends
Children:
68fdfc4
Parents:
ff50c41
Message:

add json-version and name support for serialization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • flexoentity/flexo_entity.py

    rff50c41 ra039f4a  
    6464from flexoentity.logger import logger
    6565
     66
     67SCHEMA_VERSION = "1.0"
     68SCHEMA_NAME = "flexograder-entity"
    6669
    6770# ──────────────────────────────────────────────────────────────────────────────
     
    263266
    264267    def to_dict(self):
     268
    265269        return {
    266             "meta": self.meta_dict(),
     270            "meta": {
     271                "schema": {
     272                    "name": SCHEMA_NAME,
     273                    "version": SCHEMA_VERSION,
     274                },
     275                **self.meta_dict(),
     276            },
    267277            "content": self._serialize_content(),
    268278        }
     
    277287        """
    278288        meta = data.get("meta", "")
    279         # if not meta or meta.get("flexo_id", ""):
    280         #    raise ValueError("Serialized entity must include 'flexo_id'.")
     289
     290        schema = meta.get("schema", {})
     291        name = schema.get("name")
     292        version = schema.get("version")
     293
     294        if name != SCHEMA_NAME:
     295            raise ValueError(f"Unsupported schema name: {name}")
     296
     297        if version != SCHEMA_VERSION:
     298            raise ValueError(
     299                f"Unsupported schema version {version}, expected {SCHEMA_VERSION}"
     300            )
     301
    281302        flexo_id = FlexOID(meta.get("flexo_id"))
    282303        subtype = meta.get("subtype")
Note: See TracChangeset for help on using the changeset viewer.