2011-10-19 8 views
5

Esiste un elenco di riferimento completo dei nomi dei passaggi di importazione di configurazione generici?Esiste un elenco di riferimento valido per i nomi dei passaggi di importazione genericsetup

I nomi dei passaggi di importazione della configurazione generica non corrispondono sempre ai nomi dei file xml corrispondenti, ad esempio "types.xml" ha un passaggio di importazione chiamato "tipoinfo".

In assenza di un elenco, sarei soddisfatto di un approccio semplice per scoprire il nome della fase di importazione. Ad esempio il nome del passo di importazione per plone.app.registry che è gestito dal file 'registry.xml' non è ovvio, ho provato a chiamarlo 'registro' ma questo fallisce, vedi il codice sottostante:

from Products.CMFCore.utils import getToolByName 
PROFILE_ID = 'profile-my.package:default' 
setup = getToolByName(context, 'portal_setup') 
setup.runImportStepFromProfile(PROFILE_ID, 'registry') 

e il risultato fu:

ValueError: No such import step: registry 

risposta

7

Si dovrebbe provare questo:

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

modificare:

realtà questo vi darà l'elenco completo (Ho testato questa volta):

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

... e se volete più utilizzare questo metadati:

>>> 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

ho provato e ha ottenuto il seguente output: '[u'languagetool', u'portal-trasforma-diversi]' –

+0

vedo, è un po' incompleta, non è vero ?! Ho aggiornato la mia risposta. –

2

Quello che ho finito per fare è la seguente: andare nel file plone/app/registry/exportimport/configure.zcml in cui il nome è stato registrato come:

<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>` 

Risulta t il nome della fase di importazione è stato registrato come "plone.app.registry"

Quindi, in pratica, ho dovuto scavare nel codice per scoprire dove è stato registrato importStep.

Problemi correlati