added base of event objects

This commit is contained in:
iLLiCiTiT 2022-01-07 18:39:14 +01:00
parent 7075183a47
commit 7a1edd6b1e
2 changed files with 46 additions and 0 deletions

View file

@ -1,3 +1,8 @@
from .events import (
BaseEvent,
BeforeWorkfileSave
)
from .attribute_definitions import (
AbtractAttrDef,
UnknownDef,
@ -9,6 +14,9 @@ from .attribute_definitions import (
__all__ = (
"BaseEvent",
"BeforeWorkfileSave",
"AbtractAttrDef",
"UnknownDef",
"NumberDef",

View file

@ -0,0 +1,38 @@
"""Events holding data about specific event."""
class BaseEvent:
"""Base event object.
Can be used to anything because data are not much specific. Only required
argument is topic which defines why event is happening and may be used for
filtering.
Arg:
topic (str): Identifier of event.
data (Any): Data specific for event. Dictionary is recommended.
"""
_data = {}
def __init__(self, topic, data=None):
self._topic = topic
if data is None:
data = {}
self._data = data
@property
def data(self):
return self._data
@property
def topic(self):
return self._topic
class BeforeWorkfileSave(BaseEvent):
"""Before workfile changes event data."""
def __init__(self, new_workfile, workdir):
super(BeforeWorkfileSave, self).__init__("before.workfile.save")
self.workfile_path = new_workfile
self.workdir_path = workdir