Compare commits

...

3 commits

Author SHA1 Message Date
3ffba5d92a Stats Docstrings und Hints hinzugefügt 2025-04-28 13:42:29 +02:00
d5e8c0b034 Merge branch 'main' of https://git.data-it-solution.de/data/python.video_converter_v3
# Conflicts:
#	client/icons/close-144.png
#	client/icons/stat-100.png
2025-04-28 11:09:48 +02:00
a4c8caa38a Media design für Handy 2025-04-28 11:09:36 +02:00
3 changed files with 27 additions and 10 deletions

View file

@ -1,30 +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()
# Videosammlung initialisieren, falls nötig
daten.setdefault("videos", {})
# 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:

0
client/icons/close-144.png Normal file → Executable file
View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

0
client/icons/stat-100.png Normal file → Executable file
View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB