123456789101112131415161718192021222324252627282930313233343536 |
- import time
- from datetime import datetime, timedelta
- from pathlib import Path
- import typer
- def main(filename: str, tolerance: int = 12, duration: int = 6):
- now_ts = datetime.now()
- max_ts = now_ts + timedelta(hours=duration)
- file_mtime_ts = datetime.fromtimestamp(Path(filename).stat().st_mtime)
- print(f"Warte auf Datei {filename}")
- print("Aktuelle Uhrzeit: " + now_ts.strftime("%d.%m.%Y %H:%M:%S"))
- print("Aenderungsdatum: " + file_mtime_ts.strftime("%d.%m.%Y %H:%M:%S"))
- print("Maximale Wartezeit: " + max_ts.strftime("%d.%m.%Y %H:%M:%S"))
- print("")
- while now_ts < max_ts:
- now_ts = datetime.now()
- file_mtime_ts = datetime.fromtimestamp(Path(filename).stat().st_mtime)
- oldest_ts = now_ts - timedelta(hours=tolerance)
- newest_ts = now_ts - timedelta(minutes=10)
- if file_mtime_ts >= oldest_ts and file_mtime_ts <= newest_ts:
- print(f"\nDatei {filename} ist bereit")
- return
- print(".", end="")
- time.sleep(60)
- print(f"\n!! Datei {filename} ist nicht aktuell. Warten beendet !!")
- exit(1)
- if __name__ == "__main__":
- typer.run(main)
|