"""_make_and_upload_v0.py — DOČASNÉ: postaví Pillow KPC a nahraje přes Dropbox API. Po odsouhlasení přes Telegram (ano). Diakritika v názvu OK (Dropbox API = UTF-8). """ import sys from datetime import date from pathlib import Path sys.stdout.reconfigure(encoding="utf-8") import dropbox # ── data platby (z e-mailu + pravidel playbooku) ────────────────────────── today = date.today() ddmmyy = today.strftime("%d%m%y") # splatnost + UHL = dnešek fname_date = today.strftime("%Y-%m-%d") DEBIT = ("", "2100046291") # osobní účet (plátce) /2010 CREDIT = ("", "501401304") # Pillow /2010 CREDIT_BANK = "2010" VS = "100112956" KS = "0000" AMOUNT_HALER = 46800 # 468,00 Kč AV = "povinne ruceni karavan 13.07.2026-12.07.2027" SUMMARY = "Pillow pojištění karavanu" def acct(pre, num): return f"{str(pre).zfill(6)}-{str(num).zfill(10)}" CRLF = "\r\n" lines = [ "UHL1" + ddmmyy + " " * 20 + "0" * 28, "1 1501 000000 2010", f"2 {acct(*DEBIT)} {str(AMOUNT_HALER).zfill(14)} {ddmmyy}", f"{acct(*CREDIT)} {str(AMOUNT_HALER).zfill(12)} {VS} {CREDIT_BANK}{KS} AV:{AV}", "3 +", "5 +", ] content = CRLF.join(lines) + CRLF data = content.encode("ascii") fname = f"{fname_date} KPC k platbě [{SUMMARY}].kpc" print("=== OBSAH KPC ===") print(content.replace("\r\n", "\\r\\n\n"), end="") print(f"\n=== NÁZEV: {fname} ({len(data)} B) ===") # ── lokální archivní kopie ──────────────────────────────────────────────── out_dir = Path(__file__).parent / "output" out_dir.mkdir(exist_ok=True) (out_dir / fname).write_bytes(data) print(f"lokální kopie: {out_dir / fname}") # ── upload přes Dropbox API ─────────────────────────────────────────────── 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"], ) path = f"/!!!Days/Downloads Z230/{fname}" res = dbx.files_upload(data, path, mode=dropbox.files.WriteMode.add, autorename=True) print(f"NAHRÁNO → {res.path_display} (rev {res.rev})")