[Checkins] SVN: GenericSetup/branches/wichert-zcml-steps/ New
branch for zcml-based step registration
Wichert Akkerman
wichert at wiggy.net
Sun Sep 23 17:05:34 EDT 2007
Log message for revision 79867:
New branch for zcml-based step registration
Changed:
A GenericSetup/branches/wichert-zcml-steps/
U GenericSetup/branches/wichert-zcml-steps/meta.zcml
U GenericSetup/branches/wichert-zcml-steps/registry.py
U GenericSetup/branches/wichert-zcml-steps/zcml.py
-=-
Copied: GenericSetup/branches/wichert-zcml-steps (from rev 79866, GenericSetup/trunk)
Modified: GenericSetup/branches/wichert-zcml-steps/meta.zcml
===================================================================
--- GenericSetup/trunk/meta.zcml 2007-09-23 18:03:59 UTC (rev 79866)
+++ GenericSetup/branches/wichert-zcml-steps/meta.zcml 2007-09-23 21:05:33 UTC (rev 79867)
@@ -11,6 +11,12 @@
/>
<meta:directive
+ name="importStep"
+ schema=".zcml.IImportStepDirective"
+ handler=".zcml.importStep"
+ />
+
+ <meta:directive
name="upgradeStep"
schema=".zcml.IUpgradeStepDirective"
handler=".zcml.upgradeStep"
Modified: GenericSetup/branches/wichert-zcml-steps/registry.py
===================================================================
--- GenericSetup/trunk/registry.py 2007-09-23 18:03:59 UTC (rev 79866)
+++ GenericSetup/branches/wichert-zcml-steps/registry.py 2007-09-23 21:05:33 UTC (rev 79867)
@@ -293,6 +293,7 @@
InitializeClass( ImportStepRegistry )
+_import_step_registry = ImportStepRegistry()
class ExportStepRegistry( BaseStepRegistry ):
@@ -379,6 +380,9 @@
InitializeClass( ExportStepRegistry )
+_export_step_registry = ExportStepRegistry()
+
+
class ToolsetRegistry( Implicit ):
""" Track required / forbidden tools.
Modified: GenericSetup/branches/wichert-zcml-steps/zcml.py
===================================================================
--- GenericSetup/trunk/zcml.py 2007-09-23 18:03:59 UTC (rev 79866)
+++ GenericSetup/branches/wichert-zcml-steps/zcml.py 2007-09-23 21:05:33 UTC (rev 79867)
@@ -22,6 +22,8 @@
from zope.interface import Interface
from interfaces import BASE
+from registry import _import_step_registry
+from registry import _export_step_registry
from registry import _profile_registry
from upgrade import _upgrade_registry
@@ -83,6 +85,52 @@
)
+#### genericsetup:importStep
+
+class IImportStepDirective(Interface):
+
+ """Register import steps with the global registry.
+ """
+
+ name = PythonIdentifier(
+ title=u'Name',
+ description=u'',
+ required=True)
+
+ title = MessageID(
+ title=u'Title',
+ description=u'',
+ required=True)
+
+ description = MessageID(
+ title=u'Description',
+ description=u'',
+ required=True)
+
+ handler = GlobalObject(
+ title=u'Handler',
+ description=u'',
+ required=True)
+
+ version = MessageID(
+ title=u'Version',
+ description=u'',
+ required=True)
+
+_import_step_regs = []
+
+def importStep(_context, name, version, title, description, handler):
+ """ Add a new import step to the registry.
+ """
+ _import_steps_regs.append(name)
+
+ _context.action(
+ discriminator = ('importStep', name),
+ callable = _import_step_registry.registerStep,
+ args = (name, version, handler, (), title, description)
+ )
+
+
#### genericsetup:upgradeStep
import zope.schema
@@ -176,7 +224,7 @@
#### cleanup
-def cleanUp():
+def cleanUpProfiles():
global _profile_regs
for profile_id in _profile_regs:
del _profile_registry._profile_info[profile_id]
@@ -185,7 +233,12 @@
_upgrade_registry.clear()
+def cleanUpImportSteps():
+ global _import_step_regs
+ for name in _import_step_regs:
+
from zope.testing.cleanup import addCleanUp
-addCleanUp(cleanUp)
+addCleanUp(cleanUpProfiles)
+addCleanUp(cleanUpImportSteps)
del addCleanUp
More information about the Checkins
mailing list