Repository navigation
Bug fixes
remove_events_from_cataloguechecked membership by Pythonid(), which broke whenever the caller resolved the event viaget_events(uuid=...)(the 0.5.0 fast path returns wrappers backed by_LazyBackendEntity, a different Python object from the one stored incatalogue.events). Membership is now compared on the SQL primary key, matchingadd_events_to_catalogue.- After
event.remove(permanently=True),catalogue.eventskept the deleted ORMEventin its in-memory collection. A lateradd_events_to_catalogue()with a freshly created event reusing the same UUID was wrongly rejected as "already in catalogue".Backend.removenow detaches the event from every catalogue'seventscollection beforesession.delete. - The fast-path query was leaking
_LazyBackendEntityproxies into SQLAlchemy relationships. Wrapper→backend boundaries (add/remove_events_to_catalogue,_BackendBasedEntity.remove) now resolve proxies to identity-mapped ORM entities before handing them to SQLAlchemy.
Two regression tests cover both scenarios.
Full Changelog: v0.5.0...v0.5.1