# Funktionen bzgl. Timestamps import time import datetime import os # Zeitstempel schreiben def append_timestamp(filename): # Hole den aktuellen Timestamp in Epoch-Zeit timestamp = int(time.time()) try: # Öffne die Datei im Anhang-Modus ('a') with open(filename, 'a') as file: # Schreibe den Timestamp in die Datei und füge einen Zeilenumbruch hinzu file.write(f"{timestamp}\n") except FileNotFoundError: # Fehlende Verzeichnisse anlegen folder_path = os.path.dirname(filename) os.makedirs(folder_path, exist_ok=True) append_timestamp(filename) # Anzahl der Zeilen zählen def len_timestamps(filename): try: # Öffne die Datei im Lese-Modus ('r') with open(filename, 'r') as file: # Zähle die Zeilen lines = file.readlines() return len(lines) except FileNotFoundError: print(f"Die Datei {filename} wurde nicht gefunden.") return 0 # Stempelzustand auslesen def stempel_zustand(filename): lines = len_timestamps(filename) if lines == 0: print(f"Keine Einträge") elif lines % 2 == 0: return("ausgestempelt") else: return("eingestempelt") # Stempelübersicht zusammenstellen def overview(filename): # Öffne die Datei im Lese-Modus ('r') with open(filename, 'r') as file: lines = file.readlines() in_times = [] out_times = [] for i in range(0, len(lines)): if (i + 1) % 2 == 0: out_times.append(lines[i]) else: in_times.append(lines[i]) if len(in_times) > len(out_times): out_times.append("") for i in range(0, len(in_times)): print(convert_timestamp(in_times[i], "%d.%m.%Y %H:%M") + " - " + convert_timestamp(out_times[i], "%H:%M")) # Timestamp konvertieren def convert_timestamp(timestamp, format): try: return str(datetime.datetime.fromtimestamp(int(timestamp)).strftime(format)) except: return ("...")