This commit is contained in:
2025-11-30 19:37:24 +01:00
parent 1347f7dcd7
commit ab2f4256aa
15 changed files with 1554 additions and 29 deletions

View File

@@ -0,0 +1,92 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
import subprocess
import time
from datetime import datetime
import sys
import io
# Force UTF-8 output for Scheduled Tasks
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace')
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
SCRIPT1 = os.path.join(BASE_DIR, "21ReadJSONmultipleaccounts.py")
SCRIPT2 = os.path.join(BASE_DIR, "30Report.py")
LOG_DIR = os.path.join(BASE_DIR, "logs")
LOG_FILE = os.path.join(LOG_DIR, "FIOreport.log")
os.makedirs(LOG_DIR, exist_ok=True)
# Optional WhatsApp notify
try:
from Functions import SendWhatsAppMessage
WHATSAPP_AVAILABLE = True
except Exception:
WHATSAPP_AVAILABLE = False
def write_log(text):
with open(LOG_FILE, "a", encoding="utf-8") as f:
f.write(text + "\n")
print(text)
def run_script(path):
write_log(f"\n[{datetime.now()}] ➡ Running: {os.path.basename(path)}")
if not os.path.isfile(path):
write_log(f"❌ Script not found: {path}")
return False
process = subprocess.Popen(
[sys.executable, path],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
encoding="utf-8",
errors="replace"
)
# Log STDOUT live
for line in process.stdout:
write_log(line.rstrip())
# Log STDERR live
for line in process.stderr:
write_log("⚠️ " + line.rstrip())
process.wait()
return process.returncode == 0
# ----------------------------------------------------------
# MAIN
# ----------------------------------------------------------
if __name__ == "__main__":
write_log("\n====================== NEW RUN ======================")
ok1 = run_script(SCRIPT1)
ok2 = False
if ok1:
write_log("✔ Stage 1 OK")
time.sleep(1)
ok2 = run_script(SCRIPT2)
if ok1 and ok2:
write_log("✔ All stages completed successfully")
if WHATSAPP_AVAILABLE:
SendWhatsAppMessage("✔ FIO import + report hotový.")
else:
write_log("❌ SOME PART FAILED — check above for errors")
if WHATSAPP_AVAILABLE:
SendWhatsAppMessage("❌ FIO proces selhal. Zkontroluj log.")
write_log("======================== END ========================\n")