"""_process_telco_v0.py — DOČASNÉ: Vodafone + T-Mobile v jednom KPC (osobní účet). Telegram potvrzení → ano → KPC → Dropbox → přehození kategorií obou e-mailů. """ 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 today = date.today(); ddmmyy = today.strftime("%d%m%y"); fdate = today.strftime("%Y-%m-%d") DEBIT = "2100046291" # osobní # položky: (účet_formát, haléře, VS, banka, KS, AV) items = [ ("117292", 384200, "1029503118", "0300", "0000", "Faktura Vodafone"), # bez SS (formát SS nemá) ("19-2235210247", 47920, "9953395180", "0100", "0000", "faktura T-Mobile"), # /0100 dle historie ] total = sum(h for _, h, *_ in items) CRLF = "\r\n" lines = ["UHL1" + ddmmyy + " " * 20 + "0" * 28, "1 1501 000000 2010", f"2 000000-{DEBIT} {str(total).zfill(14)} {ddmmyy}"] for acc, hal, vs, bank, ks, av in items: lines.append(f"{acc} {str(hal).zfill(12)} {vs} {bank}{ks} AV:{av}") lines += ["3 +", "5 +"] content = CRLF.join(lines) + CRLF data = content.encode("ascii") fname = f"{fdate} KPC k platbě [Vodafone + T-Mobile].kpc" print("=== NÁHLED KPC ==="); print(content.replace("\r\n", "\\r\\n\n"), end="") print(f"=== {fname} ({len(data)} B) === Σ {total/100:.2f} Kč\n") msg = ( "💳 Návrh platby (KPC agent) — telco, z osobního 2100046291\n\n" "1) Vodafone 3 842,00 Kč → 117292/0300, VS 1029503118 (BEZ SS — formát SS nemá, páruje se dle VS)\n" "2) T-Mobile 479,20 Kč → 19-2235210247/0100, VS 9953395180\n\n" "FIO: obojí nezaplaceno ✅\n\n" "Vytvořit jeden KPC a nahrát do Dropboxu? Odpověz: ano / ne" ) print(">> Potvrzeno uživatelem v chatu (ano) — pokračuji bez Telegram dotazu.") 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í kategorií obou zdrojových e-mailů (tvoje schránka) 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="https://graph.microsoft.com/v1.0/users/vladimir.buzalka@buzalka.cz" EMAILS = { "Vodafone": "AAMkADY2MzQ0N2JkLWE4NjAtNDNjYS05OTVlLTQxYjhkYWVlZmY1NQBGAAAAAACkV0glv2dZRLb1sPnwFvdvBwAzGo7b-cvrRoXjMGfWnzDsAAAAAAEMAAAzGo7b-cvrRoXjMGfWnzDsAALq4shJAAA=", "T-Mobile": "AAMkADY2MzQ0N2JkLWE4NjAtNDNjYS05OTVlLTQxYjhkYWVlZmY1NQBGAAAAAACkV0glv2dZRLb1sPnwFvdvBwAzGo7b-cvrRoXjMGfWnzDsAAAAAAEMAAAzGo7b-cvrRoXjMGfWnzDsAALpDXp1AAA=", } for nm, mid in EMAILS.items(): rp=requests.patch(f"{BASE}/messages/{mid}",headers=H,json={"categories":["KPCzpracovánoClaudem"]},timeout=30) print(f"PATCH {nm}: {rp.status_code}", "" if rp.ok else rp.text[:200]) posli_telegram(f"✅ KPC vytvořeno a nahráno:\n{fname}\nVodafone 3 842 + T-Mobile 479,20 Kč, z osobního.\nV bankingu stačí podepsat.") print(">> HOTOVO.")