Handlers
minevent.handlers ¶
Implement the event handlers.
minevent.handlers.BaseEventHandler ¶
Bases: ABC
Define the base class to implement an event handler.
A child class has to implement the following methods:
- ``handle``
- ``equal``
Example usage:
>>> from minevent import EventHandler
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = EventHandler(hello_handler)
>>> handler
EventHandler(
(handler): <function hello_handler at 0x...>
(handler_args): ()
(handler_kwargs): {}
)
>>> handler.handle()
Hello!
minevent.handlers.BaseEventHandler.equal
abstractmethod
¶
equal(other: Any) -> bool
Compare two event handlers.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
other
|
Any
|
Specifies the other object to compare with. |
required |
Returns:
Type | Description |
---|---|
bool
|
|
Example usage:
>>> from minevent import EventHandler
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = EventHandler(hello_handler)
>>> handler.equal(EventHandler(hello_handler))
True
>>> handler.equal(EventHandler(print, handler_args=["Hello!"]))
False
minevent.handlers.BaseEventHandler.handle
abstractmethod
¶
handle() -> None
Handle the event.
Example usage:
>>> from minevent import EventHandler
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = EventHandler(hello_handler)
>>> handler.handle()
Hello!
minevent.handlers.BaseEventHandlerWithArguments ¶
Bases: BaseEventHandler
Define a base class to implement an event handler with positional and/or keyword arguments.
A child class has to implement the equal
method.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handler
|
Callable
|
Specifies the handler. |
required |
handler_args
|
Sequence | None
|
Specifies the positional arguments of the handler. |
None
|
handler_kwargs
|
dict | None
|
Specifies the arbitrary keyword arguments of the handler. |
None
|
Example usage:
>>> from minevent import EventHandler
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = EventHandler(hello_handler)
>>> handler
EventHandler(
(handler): <function hello_handler at 0x...>
(handler_args): ()
(handler_kwargs): {}
)
>>> handler.handle()
Hello!
>>> handler = EventHandler(print, handler_args=["Hello!"])
>>> handler.handle()
Hello!
minevent.handlers.ConditionalEventHandler ¶
Bases: BaseEventHandlerWithArguments
Implement a conditional event handler.
The handler is executed only if the condition is True
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handler
|
Callable
|
Specifies the handler. |
required |
condition
|
BaseCondition
|
Specifies the condition for this event handler. The condition should be callable without arguments. |
required |
handler_args
|
Sequence | None
|
Specifies the positional arguments of the handler. |
None
|
handler_kwargs
|
dict | None
|
Specifies the arbitrary keyword arguments of the handler. |
None
|
Example usage:
>>> from minevent import ConditionalEventHandler, PeriodicCondition
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = ConditionalEventHandler(hello_handler, PeriodicCondition(freq=3))
>>> handler
ConditionalEventHandler(
(handler): <function hello_handler at 0x...>
(handler_args): ()
(handler_kwargs): {}
(condition): PeriodicCondition(freq=3, step=0)
)
>>> handler.handle()
Hello!
>>> handler.handle()
>>> handler.handle()
>>> handler.handle()
Hello!
minevent.handlers.ConditionalEventHandler.condition
property
¶
condition: BaseCondition
The condition.
minevent.handlers.EventHandler ¶
Bases: BaseEventHandlerWithArguments
Implement a simple event handler.
Example usage:
>>> from minevent import EventHandler
>>> def hello_handler() -> None:
... print("Hello!")
...
>>> handler = EventHandler(hello_handler)
>>> handler
EventHandler(
(handler): <function hello_handler at 0x...>
(handler_args): ()
(handler_kwargs): {}
)
>>> handler.handle()
Hello!