2011-10-19 8 views
5

汎用セットアップのインポート手順名の包括的なリファレンスリストはありますか?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') 

その結果ました:

ValueError: No such import step: registry 

答えて

7

あなたはこの試してみてください:

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} 
+0

私はそれを試してみましたが、次の出力ました:私が見る[u'languagetool」、u'portal-変換-様々な] '' –

+0

を、それは、それ少し不完全いないのです!私は私の答えを更新しました。 –

2

を何Iやってしまった以下の通りであった:

<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/exportimport/configure.zcmlファイルに行きますインポートステップの名前は 'plone.app.registry'として登録されました

したがって、importStepがどこに登録されているかを調べるために、コードを掘り下げなければなりませんでした。

関連する問題