是否有一个很好的参考列表,用于genericsetup导入步骤的名称

Dav*_*ain 5 python plone genericsetup

是否有通用设置导入步骤名称的综合参考列表?

通用设置导入步骤的名称并不总是与其对应的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')
Run Code Online (Sandbox Code Playgroud)

结果是:

ValueError: No such import step: registry
Run Code Online (Sandbox Code Playgroud)

Gia*_*oli 7

你应该试试这个:

stepregistry = portal.portal_setup.getImportStepRegistry()
stepregistry.listSteps()
Run Code Online (Sandbox Code Playgroud)

编辑:

实际上会给你完整的清单(我这次测试过):

>>> portal.portal_setup.getSortedImportSteps()
(u'PloneSurvey_various', u'rolemap', u'sharing', u'plone-difftool',...
Run Code Online (Sandbox Code Playgroud)

...如果你想要更多元数据,请使用:

>>> 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}
Run Code Online (Sandbox Code Playgroud)