visuanalytics.analytics.control.procedures package

Submodules

visuanalytics.analytics.control.procedures.pipeline module

class Pipeline(job_id: int, pipeline_id: str, step_name: str, steps_config=None, log_to_db=False, attach_mode=False, no_tmp_dir=False)

Bases: object

Enthält alle Informationen zu einer Pipeline und führt alle Steps aus.

Benötigt beim Erstellen eine id und eine Instanz der Klasse Steps bzw. einer Unterklasse von Steps. Bei dem Aufruf von Start werden alle Steps der Reihe nach ausgeführt.

property config

config der pipeline. Wird erst nach Beendigung der Pipeline initialisiert.

Type

float

property current_step

Aktueller Step der pipeline. Wird erst nach Beendigung der Pipeline initialisiert.

Type

int

current_step_name()

Gibt den Namen des aktuellen Schritts zurück.

Rückgabe

Name des aktuellen Schritts.

Rückgabetyp

str

property end_time

Endzeit der Pipeline. Wird erst nach Beendigung der Pipeline initialisiert.

Type

float

property id

id der Pipeline.

Type

str

progress()

Fortschritt der Pipeline.

Rückgabe

Anzahl der schon ausgeführten Schritte, Anzahl aller Schritte.

Rückgabetyp

int, int

start()

Führt alle Schritte aus, die in der übergebenen Instanz der Klasse Steps definiert sind.

Initialisiert zuerst einen Pipeline-Ordner mit der Pipeline-ID. Dieser kann dann in der gesamten Pipeline zur Zwichenspeicherung von Dateien verwendet werden. Dieser wird nach Beendigung oder bei einem Fehlerfall wieder gelöscht.

Führt alle Schritte aus der übergebenen Steps Instanz, die in der Funktion sequence() definiert sind, der Reihenfolge nach aus. Mit der Ausnahme von allen Steps mit der id < 0 und >= step_max.

Rückgabe

Wenn ohne Fehler ausgeführt True, sonst False

Rückgabetyp

bool

property start_time

Startzeit der Pipeline. Wird erst bei dem Aufruf von start() initialisiert.

Type

float

visuanalytics.analytics.control.procedures.step_data module

Modul, das die Klasse StepData beinhaltet.

class StepData(run_config, pipeline_id, job_id, presets: Optional[dict] = None, data_prefix='$')

Bases: object

Datenklasse zur Speicherung und Manipulation der Daten eines Jobs.

Die Daten werden in einem Dictionary gespeichert. Der Zugriff darauf erfolgt mit Strings, die Keys enthalten, welche durch ein | Symbol getrennt sind. Um diese umzuwandeln, werden die Funktionen aus dem Modul step_pattern verwendet.

clear_data()

Löscht alle Daten mit Ausnahme von _conf und _pipe_id.

property data

Daten des Jobs.

deep_format(config, api_key_name=None, values: Optional[dict] = None)

Ersetzt in allen Strings alle Werte, die in {} stehen, durch den Wert, den man aus get_data() bekommt.

Es werden alle Elemente des Dictionaries/Arrays durchlaufen und bei Bedarf ersetzt. Hierzu wird die Funktion format_api() verwendet. Beginnt ein string mit einem $ Symbol, wird der restliche String als key interpretiert, hierfür wird get_data() verwendet.

Parameter
  • config – Konfigurations-Dict/Array/String/Num

  • api_key_name – Name des API-Keys

  • values – Werte aus der JSON-Datei

Rückgabe

formatierter Input

Raises

StepKeyError

format(value_string, values=None)

Ersetzt in einem String alle Werte, die in {} stehen, durch den Wert, den man aus get_data() bekommt.

Hierzu wird die Klasse StepPatternFormatter zur Umwandlung verwendet. Ist der value_string ein numerischer Wert, wird dieser einfach wieder zurückgegeben.

Parameter
  • value_string – zu formatierender String

  • values – Werte aus der JSON-Datei

Rückgabe

formatierter value_string

Raises

StepKeyError

format_api(value_string: str, api_key_name, values: dict)

Funktioniert genauso wie format(), mit der Erweiterung, dass zusätzlich die Variable _api_key verfügbar ist.

Um den API-Key zu bekommen, wird StepData.get_api_key() verwendet.

Parameter
  • value_string – zu formatierender String

  • api_key_name – Name des Konfigurationseintrags für den API-Key.

  • values – Werte aus der JSON-Datei

Rückgabe

formatierter value_string

Raises

StepKeyError

static get_api_key(api_key_name)

Funktion um einen API-Key aus der Konfigurationsdatei zu laden.

Verwendet hierzu das Modul config_manager.

Parameter

api_key_name – Name des Konfigurationseintrags für den API-Key.

Rückgabe

API-Key

Raises

FileNotFoundError, KeyError

get_config(key, default_value=None)

Konfiguration des Jobs

get_data(key, values: Optional[dict] = None, return_on_type=None)

Gibt die Daten zurück, die hinter key_string stehen.

Parameter
  • key – Pfad zu den Daten in self.data. Besteht aus den keys zu den Daten, getrennt mit | (Pipe) Symbolen.

  • values – Werte aus der JSON-Datei.

  • return_on_type – Ist key eine Instanz von einem der übergebenen Typen oder Klassen, wird der Wert einfach zurückgegeben.

Rückgabe

Daten hinter key_string.

Raises

StepKeyError

get_preset(key: str)

Funktion, um ein Preset zu bekommen.

Parameter

key (str) – key (Name) des Presets

Rückgabe

Inhalt des Presets

Rückgabetyp

dict

Raises

PresetError

insert_data(key_string: str, value, values: dict)

Speichert Daten unter key_string.

Verwendet data_insert_pattern(), um Daten einzufügen.

Parameter
  • key_string – Pfad zu den Daten in self.data. Besteht aus den Keys zu den Daten, getrennt mit | (Pipe) Symbolen.

  • value – Wert, der eingefügt werden soll

  • values – Werte aus der JSON-Datei

Raises

StepKeyError

loop_array(loop_root: list, values: dict)

Zum Durchlaufen eines Arrays.

Setzt bei jedem Durchlauf die Variablen _loop und _idx. _loop entspricht dem aktuellen Wert und _idx dem aktuellen Index.

Parameter
  • loop_root – Array, das durchlaufen werden soll.

  • values – Werte aus der JSON-Datei

Rückgabe

Iterator über das Array, welcher Seiteneffekte besitzt, mit (idx, value).

Rückgabetyp

map

loop_dict(loop_root: dict, values: dict)

Zum Durchlaufen eines Dictionaries.

Setzt bei jedem Durchlauf die Variablen _loop und _idx. _loop entspricht dem aktuellen wert und _idx dem aktuelle Dictionary-Key.

Parameter
  • loop_root – Dictionary, das durchlaufen werden soll.

  • values – Werte aus der JSON-Datei

Rückgabe

Iterator über das Dictionary, welcher Seiteneffekte besitzt, mit (idx, value).

Rückgabetyp

map

loop_key(keys: list, values: dict)

Zum durchlaufen eines Key-Arrays.

Setzt bei jedem Durchlauf die Variable _key. _key entspricht dem aktuellen Wert des Arrays.

Parameter
  • keys – Array mit Keys (Strings)

  • values – Werte aus der JSON-Datei

Rückgabe

Iterator über das Dictionary, welcher Seiteneffekte besitzt, mit (idx, key).

Rückgabetyp

map

remove_data(key_string: str, values: dict)

Entfernt Daten unter key_string.

Verwendet data_remove_pattern(), um Daten zu entfernen.

Parameter
  • key_string – Pfad zu den Daten in self.data. Besteht aus den keys zu den Daten, getrennt mit | (Pipe) Symbolen.

  • values – Werte aus der JSON-Datei

Raises

StepKeyError

static save_loop(idx, current, values: dict)
save_loop_key(key, values: dict)

Module contents