diff --git a/app/class_media_file_stat.py b/app/class_media_file_stat.py index 288be56..9e6440b 100755 --- a/app/class_media_file_stat.py +++ b/app/class_media_file_stat.py @@ -1,27 +1,47 @@ import logging +from typing import TYPE_CHECKING import yaml import os +if TYPE_CHECKING: + from app.class_media_file import Media + class Stat: - def __init__(self): + """ + Handles reading and writing video conversion statistics + """ + + def __init__(self) -> None: + """ + Initialize Class with path for statistic file + """ self.path = "app/cfg/statistic.yaml" - def save_stat(self, obj): + def save_stat(self, obj: "Media") -> None: + """ + Saves the statistic in YAML file + :param obj: Media object + :type obj: Media + """ daten = self.read_stat() - # Neuen Eintrag hinzufügen - daten["videos"].update(obj.to_dict_stat()) - - # Datei mit aktualisierten Daten speichern try: + # Neuen Eintrag hinzufügen + daten["videos"].update(obj.to_dict_stat()) + with open(self.path, "w", encoding="utf8") as file: yaml.dump(daten, file, default_flow_style=False, indent=4, allow_unicode=True) except Exception as e: logging.error(f"Save Stat Failure: {e}") - def read_stat(self): + def read_stat(self) -> Dict[str, any]: + """ + Read statistic from YAML file + :return: Dictionary width statistics + :rtype: Dict[str, any] + """ # Bestehende Daten laden if os.path.exists(self.path): with open(self.path, "r", encoding="utf8") as file: diff --git a/client/icons/close-144.png b/client/icons/close-144.png old mode 100644 new mode 100755 diff --git a/client/icons/stat-100.png b/client/icons/stat-100.png old mode 100644 new mode 100755