[Checkins] SVN: z3c.vcsync/trunk/src/z3c/vcsync/ Introduce AllState
helper class.
Martijn Faassen
faassen at infrae.com
Fri Jul 6 17:11:15 EDT 2007
Log message for revision 77534:
Introduce AllState helper class.
Changed:
U z3c.vcsync/trunk/src/z3c/vcsync/tests.py
U z3c.vcsync/trunk/src/z3c/vcsync/vc.py
-=-
Modified: z3c.vcsync/trunk/src/z3c/vcsync/tests.py
===================================================================
--- z3c.vcsync/trunk/src/z3c/vcsync/tests.py 2007-07-06 21:09:40 UTC (rev 77533)
+++ z3c.vcsync/trunk/src/z3c/vcsync/tests.py 2007-07-06 21:11:15 UTC (rev 77534)
@@ -41,37 +41,15 @@
def removed(self, dt):
return self._removed
-class TestState(object):
- grok.implements(IState)
-
+class TestState(vc.AllState):
+
def __init__(self, root):
- self.root = root
+ super(TestState, self).__init__(root)
self.removed_paths = []
- def objects(self, dt):
- for container in self.containers(dt):
- for item in container.values():
- if not IContainer.providedBy(item):
- yield item
- # yield container after items in container,
- # to test creation of directories when items are
- # thrown up that don't have directories yet
- yield container
-
def removed(self, dt):
return self.removed_paths
-
- def containers(self, dt):
- return self._containers_helper(self.root)
- def _containers_helper(self, container):
- yield container
- for obj in container.values():
- if not IContainer.providedBy(obj):
- continue
- for sub_container in self._containers_helper(obj):
- yield sub_container
-
class Container(object):
implements(IContainer)
Modified: z3c.vcsync/trunk/src/z3c/vcsync/vc.py
===================================================================
--- z3c.vcsync/trunk/src/z3c/vcsync/vc.py 2007-07-06 21:09:40 UTC (rev 77533)
+++ z3c.vcsync/trunk/src/z3c/vcsync/vc.py 2007-07-06 21:11:15 UTC (rev 77534)
@@ -6,7 +6,8 @@
from zope.app.container.interfaces import IContainer
from zope.traversing.interfaces import IPhysicallyLocatable
-from z3c.vcsync.interfaces import IVcDump, ISerializer, IVcFactory, ISynchronizer
+from z3c.vcsync.interfaces import (IVcDump, ISerializer,
+ IState, IVcFactory, ISynchronizer)
import grok
@@ -143,3 +144,35 @@
steps.append(obj.__name__)
steps.reverse()
return self.checkout.path.join(*steps)
+
+class AllState(object):
+ """A special state object.
+
+ It reports all objects in the state as modified, and reports nothing
+ removed.
+ """
+ grok.implements(IState)
+
+ def __init__(self, root):
+ self.root = root
+
+ def objects(self, dt):
+ for container in self._containers(dt):
+ for item in container.values():
+ if not IContainer.providedBy(item):
+ yield item
+ yield container
+
+ def removed(self, dt):
+ return []
+
+ def _containers(self, dt):
+ return self._containers_helper(self.root)
+
+ def _containers_helper(self, container):
+ yield container
+ for obj in container.values():
+ if not IContainer.providedBy(obj):
+ continue
+ for sub_container in self._containers_helper(obj):
+ yield sub_container
More information about the Checkins
mailing list