In Zope, worden events gebruikt door onderdelen aan elkaar te informeren over relevante nieuwe objecten en object wijzigingen.
Om alle abonnees actueel te houden is het noodzakelijk dat de levenscyclus van een object wordt begeleid door diverse evenementen.
& Nbsp; >>> van zope.event import melden
& Nbsp; >>> van zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent
& Nbsp; >>> klasse Sample (object):
& Nbsp; ... "Test class"
& Nbsp; >>> obj = Monster ()
& Nbsp; >>> melden (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = True
& Nbsp; >>> melden (ObjectModifiedEvent (obj))
Sommige gebeurtenis consumenten zoals catalogi en caches kunnen meer informatie nodig hebben om zichzelf bij te werken op een efficiënte manier. De benodigde informatie kan worden verstrekt als optionele modificatie beschrijvingen van de ObjectModifiedEvent.
Enkele voorbeelden:
& Nbsp; >>> van zope.interface import Interface, Attribute, implementeert
& Nbsp; >>> klasse Ifile (Interface):
& Nbsp; ... data = Attribute ("Gegevens")
& Nbsp; ...
& Nbsp; >>> klasse File (object):
& Nbsp; ... werktuigen (Ifile)
& Nbsp; ...
& Nbsp; >>> file = File ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> melden (ObjectModifiedEvent (obj, Ifile))
Dit zegt dat we iets aangepast via Ifile. Merk op dat een interface is een aanvaardbare omschrijving. In feite, kunnen we vrijwel alles maken als een beschrijving en het hangt af van uw behoeften wat voor soort beschrijvingen die u gebruikt
Wat is nieuw in deze release:.
- Voeg Trove classifiers aangeeft CPython en pypy ondersteuning.
Wat is nieuw in versie 3.7.0:
- Toegevoegd gemak functies parallel zope.lifecycleevent.modified voor de andere evenementen die in dit pakket.
Eisen
- Python
Reacties niet gevonden