I Zope, är händelser som används av komponenter för att informera varandra om relevanta nya objekt och objekt ändringar.
För att hålla alla abonnenter uppdaterade är det absolut nödvändigt att livscykeln hos ett objekt åtföljs av olika händelser.
& Nbsp; >>> från zope.event import anmäla
& Nbsp; >>> från zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent
& Nbsp; >>> klass prov (objekt):
& Nbsp; ... "Test klass"
& Nbsp; >>> obj = Prov ()
& Nbsp; >>> anmäla (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = Sant
& Nbsp; >>> anmäla (ObjectModifiedEvent (obj))
Vissa händelse konsumenter som kataloger och cachar kan behöva mer information för att uppdatera sig på ett effektivt sätt. Den nödvändiga uppgifter kan lämnas som valfria modifierings beskrivningar av ObjectModifiedEvent.
Några exempel:
& nbsp; >>> från zope.interface import Interface, Attribut, redskap
& Nbsp; >>> klass ifile (Interface):
& Nbsp; ... uppgifter = Attribut ("Data")
& Nbsp; ...
& Nbsp; >>> klassfil (objekt):
& Nbsp; ... redskap (ifile)
& Nbsp; ...
& Nbsp; >>> file = fil ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> anmäla (ObjectModifiedEvent (obj, ifile))
Det säger att vi ändrade något via ifile. Observera att ett gränssnitt är en godtagbar beskrivning. I själva verket kan vi tillåta i stort sett allt som en beskrivning och det beror på dina behov vilken typ av beskrivningar som du använder
Vad är nytt i den här versionen.
- Lägg till Trove klassificerare indikerar CPython och PyPy stöd.
Vad är nytt i version 3.7.0:
- Inkom komfortfunktioner till parallella zope.lifecycleevent.modified för andra händelser som definieras i det här paketet.
Krav :
- Python
Kommentarer hittades inte