是否有通用设置导入步骤名称的全面参考列表?
一般设置导入步骤的名称并不总是与它们对应的xml文件的名称相匹配,例如,'types.xml‘有一个名为'typeinfo’的导入步骤。
在没有列表的情况下,我可以使用一种简单的方法来查找导入步骤的名称。例如,由'registry.xml‘文件管理的注册表的导入步骤名称不明显,我试图将其称为’plone.app.registry‘,但这失败了,请参阅以下代码:
from Products.CMFCore.utils import getToolByName
PROFILE_ID = 'profile-my.package:default'
setup = getToolByName(context, 'portal_setup')
setup.runImportStepFromProfile(PROFILE_ID, 'registry')结果是:
ValueError: No such import step: registry发布于 2011-10-19 20:59:14
你应该试试这个:
stepregistry = portal.portal_setup.getImportStepRegistry()
stepregistry.listSteps()编辑
实际上,这将为您提供完整的列表(我这次测试了它):
>>> portal.portal_setup.getSortedImportSteps()
(u'PloneSurvey_various', u'rolemap', u'sharing', u'plone-difftool',......and如果需要更多元数据,请使用以下命令:
>>> portal.portal_setup.getImportStepMetadata('jsregistry')
{'handler': 'Products.ResourceRegistries.exportimport.jsregistry.importJSRegistry', 'description': u'Import javascript registry', 'version': None, 'title': u'Javascript registry', 'dependencies': (u'toolset', u'componentregistry'), 'id': u'jsregistry', 'invalid': False}发布于 2011-10-20 00:50:44
我最终所做的如下所示:进入名称注册为的plone/app/registry/exportimport/configure.zcml文件:
<gs:importStep
name="plone.app.registry"
title="Manage the configuration registry"
description="Add or remove records, or change values"
handler=".handler.importRegistry">
<depends name="componentregistry"/>
<depends name="toolset"/>`
</gs:importStep>`原来导入步骤的名称注册为'plone.app.registry‘
所以基本上我必须深入研究代码来找出importStep是在哪里注册的。
https://stackoverflow.com/questions/7821498
复制相似问题