68 lines
2.5 KiB
Python
68 lines
2.5 KiB
Python
"""_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})")
|