Skip to main content

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)

Source distribution for Iris-heureka-code 1.2.0
File Size Uploaded
Iris-heureka-code-1.2.0.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Iris-heureka-code 1.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page