5

一般的なセットアップのインポート ステップ名の包括的な参照リストはありますか?

一般的なセットアップ インポート ステップの名前は、対応する xml ファイルの名前と常に一致するとは限りません。たとえば、「types.xml」には「typeinfo」というインポート ステップがあります。

リストがない場合は、インポート ステップの名前を見つける簡単な方法で十分です。たとえば、「registry.xml」ファイルによって管理される plone.app.registry のインポート ステップ名は明らかではありません。「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
4

2 に答える 2

8

これを試してください:

stepregistry = portal.portal_setup.getImportStepRegistry()
stepregistry.listSteps()

編集

実際、これにより完全なリストが得られます(今回はテストしました):

>>> portal.portal_setup.getSortedImportSteps()
(u'PloneSurvey_various', u'rolemap', u'sharing', u'plone-difftool',...

...さらにメタデータが必要な場合は、これを使用します。

>>> 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-19T12:59:13.630 に答える
2

私がやったことは次のとおりでした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が登録されている場所を見つけるためにコードを掘り下げる必要がありました。

于 2011-10-19T16:50:44.370 に答える