"""_process_clk_v0.py — DOČASNÉ: zpracuje manželčin ČLK příspěvek (mini-agent). Telegram potvrzení → ano → KPC (plátce ordinace) → Dropbox → přehození kategorie. """ import sys from datetime import date from pathlib import Path sys.stdout.reconfigure(encoding="utf-8") sys.path.insert(0, r"U:\ordinaceprojekt") import dropbox, msal, requests from Knihovny.telegram_notify import zeptej_se_telegram, posli_telegram # ── data platby ─────────────────────────────────────────────────────────── today = date.today() ddmmyy = today.strftime("%d%m%y") fdate = today.strftime("%Y-%m-%d") DEBIT_NUM = "2800046620" # ordinace (plátce) CREDIT_NUM = "244484339" # ČLK, bez předčíslí → holé číslo CREDIT_BANK = "0800" VS = "5141811171"; KS = "0000" AMOUNT = 400000 # 4000,00 Kč v haléřích AV = "clensky prispevek OS CLK 2026 Buzalkova" SUMMARY = "ČLK příspěvek Buzalková 2026" # e-mail ke zpracování (manželčina schránka) MAILBOX = "michaela.buzalkova@buzalka.cz" MSG_ID = "AAMkADFkMzE3NDlmLTg3NjQtNDQwNy05Nzc2LWJjYWJkNmNjMjIxZABGAAAAAABEaZtIoWAPQbVWi-ATA8XVBwB8gYSLibM0Q7crRJXlxBlcAAAAAAEMAAB8gYSLibM0Q7crRJXlxBlcAALrbxJcAAA=" # ── KPC ─────────────────────────────────────────────────────────────────── CRLF = "\r\n" lines = [ "UHL1" + ddmmyy + " " * 20 + "0" * 28, "1 1501 000000 2010", f"2 000000-{DEBIT_NUM} {str(AMOUNT).zfill(14)} {ddmmyy}", f"{CREDIT_NUM} {str(AMOUNT).zfill(12)} {VS} {CREDIT_BANK}{KS} AV:{AV}", "3 +", "5 +", ] content = CRLF.join(lines) + CRLF data = content.encode("ascii") fname = f"{fdate} KPC k platbě [{SUMMARY}].kpc" print("=== NÁHLED KPC ===") print(content.replace("\r\n", "\\r\\n\n"), end="") print(f"=== {fname} ({len(data)} B) ===\n") # ── Telegram potvrzení ──────────────────────────────────────────────────── msg = ( "💳 Návrh platby (KPC agent)\n\n" "ČLK členský příspěvek 2026 — MUDr. Buzalková\n" "4 000 Kč → 244484339/0800, VS 5141811171\n" "Z účtu: ordinace 2800046620\n" "Splatnost: dnes (17.06.2026)\n\n" "FIO: 2026 zatím nezaplaceno (poslední 2025-04-09) ✅\n\n" "Vytvořit KPC a nahrát do Dropboxu? Odpověz: ano / ne" ) odp = zeptej_se_telegram(msg, timeout=150) print("TELEGRAM odpověď:", repr(odp)) if not odp or odp.strip().lower() not in ("ano", "ano.", "yes", "ok"): print(">> NEPOTVRZENO (ano nepřišlo) — nic nevytvářím.") sys.exit(0) # ── lokální archiv + Dropbox upload ─────────────────────────────────────── out_dir = Path(__file__).parent / "output"; out_dir.mkdir(exist_ok=True) (out_dir / fname).write_bytes(data) print("lokální kopie:", out_dir / fname) env = {} for line in Path(r"U:\PythonProject\Janssen\EmailsImport\.env").read_text(encoding="utf-8").splitlines(): line = line.strip() if "=" in line and not line.startswith("#"): k, v = line.split("=", 1); env[k.strip()] = v.strip() dbx = dropbox.Dropbox(app_key=env["DROPBOX_APP_KEY"], app_secret=env["DROPBOX_APP_SECRET"], oauth2_refresh_token=env["DROPBOX_APP_REFRESH_TOKEN"]) res = dbx.files_upload(data, f"/!!!Days/Downloads Z230/{fname}", mode=dropbox.files.WriteMode.add, autorename=True) print("NAHRÁNO →", res.path_display) # ── přehození kategorie na manželčině e-mailu ───────────────────────────── TENANT="7d269944-37a4-43a1-8140-c7517dc426e9"; CID="4b222bfd-78c9-4239-a53f-43006b3ed07f" SECRET="Txg8Q~MjhocuopxsJyJBhPmDfMxZ2r5WpTFj1dfk" app=msal.ConfidentialClientApplication(CID,authority=f"https://login.microsoftonline.com/{TENANT}",client_credential=SECRET) tok=app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"]) H={"Authorization":f"Bearer {tok['access_token']}","Content-Type":"application/json"} BASE=f"https://graph.microsoft.com/v1.0/users/{MAILBOX}" rp=requests.patch(f"{BASE}/messages/{MSG_ID}",headers=H,json={"categories":["KPCzpracovánoClaudem"]},timeout=30) print("PATCH kategorie:", rp.status_code, "" if rp.ok else rp.text[:300]) posli_telegram(f"✅ KPC vytvořeno a nahráno:\n{fname}\n4 000 Kč → 244484339/0800 (ČLK Buzalková), z ordinace.\nV bankingu stačí podepsat.") print(">> HOTOVO.")