Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

Commit

Permalink
added docstrings
Browse files Browse the repository at this point in the history
  • Loading branch information
Floskinner committed May 26, 2021
1 parent 8d1c1de commit 6069a24
Showing 1 changed file with 81 additions and 31 deletions.
112 changes: 81 additions & 31 deletions gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,15 @@ class HauptGUI(QtWidgets.QMainWindow):
# b_neue_kontaktdaten
# b_neue_zeitspanne

def __init__(self, pfad_fenster_layout=os.path.join(PATH, "tools/gui/main.ui")):
# TODO: Ausgabe der cmd in der GUI wiederspiegelen - wenn sowas überhaupt geht
def __init__(self, pfad_fenster_layout: str = os.path.join(PATH, "tools/gui/main.ui")):
"""
Main der GUI Anwendung
Args:
pfad_fenster_layout (str, optional): Ort der main.ui. Defaults to os.path.join(PATH, "tools/gui/main.ui").
"""

super().__init__()

# Laden der .ui Datei und Anpassungen
Expand Down Expand Up @@ -60,24 +68,64 @@ def __init__(self, pfad_fenster_layout=os.path.join(PATH, "tools/gui/main.ui")):
# Workaround, damit das Fenster hoffentlich im Vordergrund ist
self.activateWindow()

@staticmethod
def start_gui():
"""
Startet die GUI Anwendung
"""

app = QtWidgets.QApplication(list())
window = HauptGUI()
app.exec_()

def kontaktdaten_erstellen(self):
"""
Ruft den Dialog für die Kontaktdaten auf
"""

dialog = QtKontakt(self.pfad_kontaktdaten)
dialog.show()
dialog.exec_()

def zeitspanne_erstellen(self):
"""
Ruft den Dialog für die Zeitspanne auf
"""

dialog = QtZeiten(self.pfad_zeitspanne)
dialog.show()
dialog.exec_()

def __termin_suchen(self):
"""
Startet den Prozess der terminsuche mit Impfterminservice.terminsuche
"""

kontaktdaten = self.__get_kontaktdaten()
zeitspanne = self.__get_zeitspanne()

kontakt = kontaktdaten["kontakt"]
code = kontaktdaten["code"]
plz_impfzentren = kontaktdaten["plz_impfzentren"]

#TODO: starte es in einem extra thread, sonst hängt sich die GUI auf
# TODO: starte es in einem extra thread, sonst hängt sich die GUI auf
ImpfterminService.terminsuche(code=code, plz_impfzentren=plz_impfzentren, kontakt=kontakt, zeitspanne=zeitspanne, PATH=PATH)


def __code_generieren(self):
pass
"""
Startet den Prozess der Codegenerierung
"""

# TODO: code generierung implementieren
pass

def __get_kontaktdaten(self) -> dict:
"""
Ladet die Kontakdaten aus dem in der GUI hinterlegten Pfad
Returns:
dict: Kontakdaten
"""

if not os.path.isfile(self.pfad_kontaktdaten):
self.kontaktdaten_erstellen()
Expand All @@ -87,8 +135,14 @@ def __get_kontaktdaten(self) -> dict:

return kontaktdaten


def __get_zeitspanne(self) -> dict:
"""
Ladet die Zeitspanne aus dem in der GUI hinterlegtem Pfad
Returns:
dict: Zeitspanne
"""

if not os.path.isfile(self.pfad_zeitspanne):
self.zeitspanne_erstellen()

Expand All @@ -97,42 +151,38 @@ def __get_zeitspanne(self) -> dict:

return zeitspanne


def __oeffne_file_dialog(self, datei: str):
datei_data = QtWidgets.QFileDialog.getOpenFileName(self, datei, os.path.join(PATH, "data"), "JSON Files (*.json)")
dateipfad = datei_data[0]
"""
Öffnet einen "File-Picker", der entsprechende Werte für die kontaktdaten / zeitspanne einliest
if datei == "kontaktdaten":
self.i_kontaktdaten_pfad.setText(dateipfad)
else:
self.i_zeitspanne_pfad.setText(dateipfad)
Args:
datei (str): Startpfad vom File-Picker
"""

# Öffnet den "File-Picker" vom System um ein bereits existierende Datei auszuwählen
datei_data = QtWidgets.QFileDialog.getOpenFileName(self, datei, os.path.join(PATH, "data"), "JSON Files (*.json)")
dateipfad = datei_data[0] # (pfad, typ)

if dateipfad:
if datei == "kontaktdaten":
self.i_kontaktdaten_pfad.setText(dateipfad)
else:
self.i_zeitspanne_pfad.setText(dateipfad)

def __update_pfade(self):
"""
Wird ein Pfad in der GUI verändert, so werden die entsprechende Attribute angepasst
"""

self.pfad_kontaktdaten = self.i_kontaktdaten_pfad.text()
self.pfad_zeitspanne = self.i_zeitspanne_pfad.text()

@staticmethod
def start_gui():
app = QtWidgets.QApplication(list())
window = HauptGUI()
app.exec_()


def kontaktdaten_erstellen(self):
dialog = QtKontakt(self.pfad_kontaktdaten)
dialog.show()
dialog.exec_()


def zeitspanne_erstellen(self):
dialog = QtZeiten(self.pfad_zeitspanne)
dialog.show()
dialog.exec_()



def main():
"""
Startet die GUI-Anwendung
"""

HauptGUI.start_gui()


Expand Down

0 comments on commit 6069a24

Please sign in to comment.