2011-10-19 11 views
5

क्या सामान्य सेटअप आयात चरण नामों की एक व्यापक संदर्भ सूची है?क्या जेनेरिकेटअप आयात चरणों के नामों के लिए कोई अच्छी संदर्भ सूची है

जेनेरिक सेटअप आयात चरणों के नाम हमेशा उनके संबंधित एक्सएमएल फाइलों के नाम से मेल नहीं खाते हैं उदाहरण के लिए 'type.xml' में 'typeinfo' नामक एक आयात चरण है।

किसी सूची की अनुपस्थिति में, मैं आयात चरण का नाम जानने के लिए एक सरल दृष्टिकोण से संतुष्ट होगा। उदाहरण के लिए 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

क्या मैं समाप्त हो गया कर इस प्रकार थी: 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'

के रूप में पंजीकृत था इसलिए मूल रूप से मुझे यह पता लगाने के लिए कोड में खोदना पड़ा कि आयातस्टेप कहाँ पंजीकृत था।

संबंधित मुद्दे