Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Plone: local utilities erzeugen & verwenden

Plone: local utilities erzeugen & verwenden

Local utilities können Daten persistent halten und können daher auch als zentraler Ort für z.B. Status Flags verwendet werden.

Local utility erzeugen

Utility Klasse definieren

from persistent import Persistent
from zope import interface

class IImportUtility(interface.Interface):
""" Marker interface for ImportUtility
"""

class ImportUtility(Persistent):
""" Import utility, which hold the status information
of asyncron import processes.
"""
interface.implements(IImportUtility)

def __init__(self):
self.sample_data_str = "hello world"

Utility per GenericSetup in Plone registrieren

profiles/default/componentregistry.xml:

<?xml version="1.0"?>
<componentregistry>
<utilities>
<utility
name="import_utility"
factory="example.package.import_utility.ImportUtility"
interface="example.package.import_utility.IImportUtility"
/>
</utilities>
</componentregistry>

Local utility verwenden

from zope.component import getUtility
from example.package.import_utility import IImportUtility

import_utility = getUtility(IImportUtility, name="import_utility")
print(import_utility.sample_data_str)
"hello world"