Changeset 3bad43e in flexoentity


Ignore:
Timestamp:
10/26/25 18:19:40 (3 months ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
master
Children:
a3227e7
Parents:
e198832
Message:

rename signature to fingerprint and prepare for real signatures

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • flexoentity/flexo_entity.py

    re198832 r3bad43e  
    9595    state: EntityState
    9696    flexo_id: Optional[FlexOID] = field(default=None)
    97     signature: str = field(default_factory=str)
     97    fingerprint: str = field(default_factory=str)
    9898    origin: Optional[str] = field(default=None)
    9999   
     
    152152                                         1)
    153153        seed = canonical_seed(self.text_seed)
    154         self.signature = hashlib.blake2s(seed.encode("utf-8"), digest_size=8).hexdigest().upper()
     154        self.fingerprint = hashlib.blake2s(seed.encode("utf-8"), digest_size=8).hexdigest().upper()
    155155
    156156    def __str__(self):
    157157        return (
    158158            f"{self.etype.name}({self.flexo_id}, {self.state.name}, "
    159             f"sig={self.signature}..., v{self.version})"
     159            f"fingerprint={self.fingerprint}..., v{self.version})"
    160160        )
    161161    def to_dict(self):
     
    165165            "state": self.state.name,
    166166            "flexo_id": str(self.flexo_id),
    167             "signature": self.signature,
     167            "fingerprint": self.fingerprint,
    168168            "origin": self.origin,
    169169        }
     
    185185        )
    186186        obj.flexo_id = FlexOID.from_string(data["flexo_id"])
    187         obj.signature = data.get("signature", "")
     187        obj.fingerprint = data.get("fingerprint", "")
    188188        obj.origin = data.get("origin")
    189189        return obj
     
    213213            EntityState.PUBLISHED,
    214214        )
    215     def _update_signature(self) -> str:
    216         """Always recompute the entity's content signature."""
     215    def _compute_fingerprint(self) -> str:
     216        """Always recompute the entity's content fingerprint."""
    217217        seed = self.canonical_seed()
    218218        return hashlib.blake2s(seed.encode("utf-8"), digest_size=8).hexdigest().upper()
    219219
    220220    def _update_fingerprint(self) -> bool:
    221         """Update FlexOID if the content signature changed."""
    222         new_sig = self._update_signature()
    223         if new_sig != self.signature:
    224             self.signature = new_sig
     221        """Update FlexOID if the content fingerprint changed."""
     222        new_fp = self._compute_fingerprint()
     223        if new_fp != self.fingerprint:
     224            self.fingerprint = new_fp
    225225            self.flexo_id = FlexOID.safe_generate(self.domain_code(),
    226226                                             self.etype.short(),
     
    354354    @staticmethod
    355355    def verify_integrity(entity) -> bool:
    356         """Verify that an entity’s content signature matches its actual content."""
    357         expected_sig = hashlib.blake2s(
     356        """Verify that an entity’s content fingerprint matches its actual content."""
     357        expected_fp = hashlib.blake2s(
    358358            canonical_seed(entity.text_seed).encode("utf-8"), digest_size=8
    359359        ).hexdigest().upper()
    360         return expected_sig == entity.signature
     360        return expected_fp == entity.fingerprint
    361361
    362362    def allowed_transitions(self) -> list[str]:
  • tests/test_persistance_integrity.py

    re198832 r3bad43e  
    4343
    4444    # Metadata should be preserved exactly
    45     assert approved_question.signature == loaded.signature
     45    assert approved_question.fingerprint == loaded.fingerprint
    4646    assert approved_question.flexo_id == loaded.flexo_id
    4747    assert loaded.state == approved_question.state
Note: See TracChangeset for help on using the changeset viewer.