From 15f1c76496593ffe828fdc6428a8ed15d87d0abe Mon Sep 17 00:00:00 2001 From: helmutm Date: Sat, 5 May 2007 17:32:01 +0000 Subject: [PATCH] versioning: add handler for IObjectRemovedEvent to clean up versions upon deletion of a versioned object git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1720 fd906abe-77d9-0310-91a1-e0d9ade77398 --- versioning/README.txt | 18 ++++++++++++++++++ versioning/configure.zcml | 6 ++++++ versioning/testsetup.py | 7 ++++++- versioning/versionable.py | 20 ++++++++++++++++++++ 4 files changed, 50 insertions(+), 1 deletion(-) diff --git a/versioning/README.txt b/versioning/README.txt index 1cedfc8..f934e26 100644 --- a/versioning/README.txt +++ b/versioning/README.txt @@ -133,6 +133,24 @@ In addition it is possible to explicitly retrieve a certain version: '1.1' +Deleting Versioned Resources +============================ + +When a version object is deleted the reference to it on the corresponding +master object is removed. + + >>> del resources['d001_1.2.txt'] + >>> sorted(IVersionable(d001).versions) + ['1.1', '2.1', '2.2'] + +When the master object of a versioned resource is deleted all version objects +derived from it are deleted as well. + + >>> del resources['d001.txt'] + >>> sorted(resources) + [u'd002.txt', u'd003.txt'] + + Fin de partie ============= diff --git a/versioning/configure.zcml b/versioning/configure.zcml index 0609914..47e18d1 100644 --- a/versioning/configure.zcml +++ b/versioning/configure.zcml @@ -16,6 +16,12 @@ set_schema="loops.versioning.interfaces.IVersionable" /> + +