Frage Gibt es eine gute Referenzliste für die Namen der Importschritte für genericsetup


Gibt es eine umfassende Referenzliste der generischen Setup-Importschrittnamen?

Die Namen der generischen Setup-Importschritte stimmen nicht immer mit den Namen der entsprechenden XML-Dateien überein, z. B. "types.xml" hat einen Importschritt namens "typeinfo".

In Ermangelung einer Liste wäre ich mit einem einfachen Ansatz zufrieden, den Namen des Importschritts herauszufinden. Zum Beispiel ist der Importschrittname für plone.app.registry, der von der Datei 'registry.xml' verwaltet wird, nicht offensichtlich, ich habe versucht, ihn als 'Registrierung' zu bezeichnen, aber dies schlägt fehl, siehe folgenden Code:

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

Und das Ergebnis war:

ValueError: No such import step: registry

5
2017-10-19 12:43


Ursprung


Antworten:


Du solltest das versuchen:

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

bearbeiten:

tatsächlich Dies gebe dir die komplette Liste (ich habe es diesmal getestet):

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

... und wenn du mehr Metadaten willst, nutze dies:

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

7
2017-10-19 12:59



Was ich getan habe, war wie folgt: Geh in die plone/app/registry/exportimport/configure.zcml Datei, in der der Name registriert wurde als:

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

Der Name des Importschritts wurde als "plone.app.registry" registriert.

Also musste ich im Grunde den Code untersuchen, um herauszufinden, wo der importStep registriert wurde.


2
2017-10-19 16:50