55 lines
2.4 KiB
Python
55 lines
2.4 KiB
Python
"""_process_telco_v1.py — OPRAVA: doplněn specifický symbol (Fio ABO spec).
|
|
Položka: <účet> <částka> <VS> <směr+KS> <SS|mezera> AV:<text>. Přepíše soubor v Dropboxu.
|
|
"""
|
|
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
|
|
from Knihovny.telegram_notify import posli_telegram
|
|
|
|
today = date.today(); ddmmyy = today.strftime("%d%m%y"); fdate = today.strftime("%Y-%m-%d")
|
|
DEBIT = "2100046291" # osobní
|
|
|
|
# (účet, haléře, VS, směr.kód, KS, SS, AV) — SS="" => prázdné (nahradí se mezerou)
|
|
items = [
|
|
("117292", 384200, "1029503118", "0300", "0000", "38630302", "Faktura Vodafone"),
|
|
("19-2235210247", 47920, "9953395180", "0100", "0000", "", "faktura T-Mobile"),
|
|
]
|
|
total = sum(h for _, h, *_ in items)
|
|
|
|
def polozka(acc, hal, vs, bank, ks, ss, av):
|
|
ssfield = ss if ss else " " # prázdný SS = jedna mezera (dle Fio spec)
|
|
return f"{acc} {str(hal).zfill(12)} {vs} {bank}{ks} {ssfield} AV:{av}"
|
|
|
|
CRLF = "\r\n"
|
|
lines = ["UHL1" + ddmmyy + " " * 20 + "0" * 28, "1 1501 000000 2010",
|
|
f"2 000000-{DEBIT} {str(total).zfill(14)} {ddmmyy}"]
|
|
lines += [polozka(*it) for it in items]
|
|
lines += ["3 +", "5 +"]
|
|
content = CRLF.join(lines) + CRLF
|
|
data = content.encode("ascii")
|
|
fname = f"{fdate} KPC k platbě [Vodafone + T-Mobile].kpc"
|
|
|
|
print("=== OPRAVENÝ KPC (se SS) ==="); print(content.replace("\r\n", "\\r\\n\n"), end="")
|
|
print(f"=== {fname} ({len(data)} B) ===\n")
|
|
|
|
out_dir = Path(__file__).parent / "output"; out_dir.mkdir(exist_ok=True)
|
|
(out_dir / fname).write_bytes(data)
|
|
|
|
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.overwrite) # PŘEPÍŠE původní (bez SS)
|
|
print("PŘEPSÁNO v Dropboxu →", res.path_display)
|
|
|
|
posli_telegram("✏️ Opraveno: telco KPC nyní obsahuje specifický symbol Vodafonu (38630302). "
|
|
"Soubor v Dropboxu přepsán — prosím znovu naimportuj.")
|
|
print(">> HOTOVO.")
|