def unregisterSteps(context, import_steps=None, export_steps=None): # This removes steps that are now registered via ZCML so are # duplicate. Optionally, you can pass a list of extra # import_steps and/or export_steps to remove. if import_steps is None: import_steps = set() else: import_steps = set(import_steps) if export_steps is None: export_steps = set() else: export_steps = set(export_steps) registry = context.getImportStepRegistry() persistent_steps = registry.listSteps() zcml_steps = _import_step_registry.listSteps() duplicated = set([s for s in persistent_steps if s in zcml_steps]) remove = duplicated.union(import_steps) for step in remove: if step in registry._registered: registry.unregisterStep(step) registry = context.getExportStepRegistry() persistent_steps = registry.listSteps() zcml_steps = _export_step_registry.listSteps() duplicated = set([s for s in persistent_steps if s in zcml_steps]) remove = duplicated.union(export_steps) for step in remove: if step in registry._registered: registry.unregisterStep(step) context._p_changed = True
def unregisterOldSteps(context): # remove steps that are now registered via ZCML or gone completely _REMOVE_IMPORT_STEPS = [ 'caching_policy_mgr', 'cookie_authentication', 'plone-archetypes', 'plone-site', 'plone_various', 'various', ] registry = context.getImportStepRegistry() persistent_steps = registry.listSteps() zcml_steps = _import_step_registry.listSteps() duplicated = [s for s in persistent_steps if s in zcml_steps] remove = duplicated + _REMOVE_IMPORT_STEPS for step in remove: if step in registry._registered: registry.unregisterStep(step) _REMOVE_EXPORT_STEPS = [ 'caching_policy_mgr', 'cookieauth', 'step_registries', ] registry = context.getExportStepRegistry() persistent_steps = registry.listSteps() zcml_steps = _export_step_registry.listSteps() duplicated = [s for s in persistent_steps if s in zcml_steps] remove = duplicated + _REMOVE_EXPORT_STEPS for step in remove: if step in registry._registered: registry.unregisterStep(step) context._p_changed = True
def testRegistration(self): zcml.load_string("""\ <configure xmlns:genericsetup="http://namespaces.zope.org/genericsetup" i18n_domain="genericsetup"> <genericsetup:exportStep name="name" title="title" description="description" handler="Products.GenericSetup.tests.test_zcml.dummy_exportstep" /> </configure>""") self.assertEqual( _export_step_registry.listSteps(), [u'name']) data=_export_step_registry.getStepMetadata(u'name') self.assertEqual(data["handler"], 'Products.GenericSetup.tests.test_zcml.dummy_exportstep') self.assertEqual(data["description"], u"description") self.assertEqual(data["title"], u"title") self.assertEqual(data["id"], u"name")
def listExportSteps(self): steps = set(self._export_registry.listSteps()) if not self._exclude_global_steps: steps.update(set(_export_step_registry.listSteps())) return tuple(steps)
def listExportSteps(self): steps = _export_step_registry.listSteps() + \ self._export_registry.listSteps() return tuple(set(steps))