Iris – Verwaltung von Events
Event
__init__: Konstruktor, der eine beliebige Anzahl an Funktionspointern nimmt, die ans Event gebunden werden.
add_function: Bindet neue Funktionen an das Event.
remove_function: Entbindet Funktionen vom Event.
emit: Löst das Event aus und ruft alle Funktionen nacheinaner auf mit den dieser Funktion gegebenen Argumenten auf.
__iadd__: Selbe Funktion wie add_function
__isub__: Selbe Funktion wie remove_function
__call__: Selbe Funktion wie emit
__repr_: Representationsstring des Events mit den gebundenen Funktionen.
function: Property-Attribut, das die Liste der gebundenen Funktionen liefert zur einfachen Manipulation.
TypeEvent
__init__: Konstruktor, der die Typen nimmt, die akzeptiert werden können.
emit: Löst das Event aus. Wirft TypeError, falls falsche Typen vorliegen oder AttributeError.
typen: Property-Attribut, das die akzeptablen Typen liefert.
__repr__: Representationsstring des TypeEvents mit den Typen und den gebundenen Funktionen.
__copy__: Liefert eine Kopie des Objekts allerdings mit leerer Funktionspointerliste.
Handler
__init__: Konstruktor, der den Handler initialisiert.
get_event_names: Liefert die Namen aller erstellten Events.
remove: Löscht das Event mit dem gegebenem Namen.
__repr__: Representationsstring mit den Namen der Events
Möglichkeiten ein neues Event zu erstellen mit:
- Dem Namen des Events
- Den zu bindenen Funktionen
new__setitem__
Möglichkeiten ein Event zu löschen:
remove__delitem____delattr__
Möglichkeiten ein Event von seinem Namen her zu erhalten:
__getitem____getattr__
StaticHandler
Basisklasse, von der verschiedene Handler abgeleitet werden können, deren Attribute als Events aufgefasst werden.
Syntax mit Typvorgabe:
class Irgendwas(StaticHandler):
EVENT_1: Event
EVENT_2: Event
Syntax mit None-Wert
class Irgendwas(StaticHandler):
EVENT_1 = None
EVENT_2 = None
Syntax mit Typ und None
class Irgendwas(StaticHandler):
EVENT_1: Event = None
EVENT_2: EVENT = None
Statt None kann auch Event() verwendet werden.
Das macht allerdings keinen Unterschied.
Syntax mit TypeEvent
class IgendwasMitTypen(StaticHandler):
T_EVENT_1 = TypeEvent(int, str, int)
T_EVENT_2 = TypeEvent(str, int)
Auslösen eines Events
handler = Irgendwas()
handler.EVENT_1.add_function(print)
handler.EVENT_1.emit("Test")
RecursiveHandler
Ein Dekorator, um eine Klasse dem Aufnehmen eines weiteren Handlers zu befähigen.
Exceptions
Ein Auftreten der Exception AttributeError kann bedeuten, dass der Dekorator vergessen worden ist.
Syntax
@RecursiveHandler
class A(StaticHandler):
a1: Event
@RecursiveHandler
class B(StaticHandler):
b1: Event
class C(StaticHandler):
c1: Event
Event erreichen
a = A()
print(a.a1)
print(a.B.b1)
print(a.B.C.c1)
Die definierten Events können so angesprochen werden.
Metadata
Release files for Iris-heureka-code 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Iris-heureka-code-1.2.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Iris_heureka_code-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / Iris-heureka-code-1.2.0.tar.gz
| Download URL | Iris-heureka-code-1.2.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a18e8ccd29ba9e8446021173311a769050f5ab219f141814b4fc4bb5a0fc99f6
|
|
BLAKE2b-256 checksum How to use checksums |
03a6e01f917a433184a5d380040f4962683bcb5a0e0f849733abcff7df4ae1a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.7.2 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1
|
Release files / Iris_heureka_code-1.2.0-py3-none-any.whl
| Download URL | Iris_heureka_code-1.2.0-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43d8d188f080a07079ca8a4a193a0f12aba1cfe1e526efca6f42189fe64f3dac
|
|
BLAKE2b-256 checksum How to use checksums |
da9f9b09f4eae5a74f8f3003ad9f63406151852f8678b94601a3895e09be0040
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.7.2 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1
|