2011-10-19 8 views
5

¿Existe una lista de referencia exhaustiva de los nombres de los pasos de importación de la configuración genérica?¿Existe una buena lista de referencias para los nombres de los pasos de importación de genericsetup

Los nombres de los pasos de importación de configuración genérica no siempre coinciden con los nombres de sus archivos xml correspondientes, por ejemplo 'types.xml' tiene un paso de importación llamado 'typeinfo'.

En ausencia de una lista, estaría satisfecho con un enfoque simple para averiguar el nombre del paso de importación. Por ejemplo, el nombre del paso de importación para plone.app.registry que es administrado por el archivo 'registry.xml' no es obvio, traté de referirme a él como 'registro' pero esto falla, vea el código a continuación:

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

y el resultado fue:

ValueError: No such import step: registry 

Respuesta

7

Usted debe intentar esto:

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

edición:

realidad este le dará la lista completa (Lo he probado en esta ocasión):

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

... y si quieres más metadatos Utilice:

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

lo he intentado y tiene el siguiente resultado: '[u'languagetool', u'portal transformadas-varios]' –

+0

veo, que es un poco incompleta, no es cierto ?! He actualizado mi respuesta. –

2

Lo que terminó haciendo fue la siguiente: entrar en el archivo plone/app/registry/exportimport/configure.zcml donde se registró el nombre como:

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

Resulta que t El nombre del paso de importación se registró como 'plone.app.registry'

Así que, básicamente, tuve que profundizar en el código para averiguar dónde se había registrado importStep.

Cuestiones relacionadas