#!/usr/bin/env python3
import os, json, urllib.request, urllib.parse, time

token = None
for line in open("/root/site/yandex/.env", encoding="utf-8"):
    if line.startswith("YANDEX_ACCESS_TOKEN="):
        token = line.split("=", 1)[1].strip()
H = {"Authorization": f"OAuth {token}"}

def disk_delete(path):
    url = "https://cloud-api.yandex.net/v1/disk/resources?path=" + urllib.parse.quote(path) + "&permanently=true"
    req = urllib.request.Request(url, method="DELETE", headers=H)
    try:
        with urllib.request.urlopen(req, timeout=60) as r:
            return r.status
    except urllib.error.HTTPError as e:
        return e.code

def disk_upload(path, local_file):
    url = ("https://cloud-api.yandex.net/v1/disk/resources/upload?path=" +
           urllib.parse.quote(path) + "&overwrite=true")
    req = urllib.request.Request(url, headers=H)
    with urllib.request.urlopen(req, timeout=60) as r:
        href = json.loads(r.read().decode())["href"]
    with open(local_file, "rb") as f:
        data = f.read()
    req = urllib.request.Request(href, data=data, method="PUT")
    with urllib.request.urlopen(req, timeout=180) as r:
        return r.status

NAME = "Богородский"
folder = "/root/site/video/site_renders/" + NAME
REMOVE = ["11.jpg", "12.jpg", "13.jpg", "15.jpg", "16.jpg"]  # интерьеры

for f in REMOVE:
    p = os.path.join(folder, f)
    if os.path.exists(p):
        os.remove(p)
        code = disk_delete(f"/Рендеры с сайта/{NAME}/{f}")
        print("удалён", f, "код", code)
        time.sleep(0.2)

# перенумеруем оставшиеся фото (06..16) в последовательные 06..11
files = sorted(os.listdir(folder))
print("файлы сейчас:", files)
# возьмём только числовые
num = [f for f in files if f[:2].isdigit()]
# перенумеруем с 6
newidx = 6
renamed = []
for f in num:
    n = int(f[:2])
    if n >= 6:
        ext = f.rsplit(".", 1)[-1]
        newname = f"{newidx:02d}.{ext}"
        if f != newname:
            os.rename(os.path.join(folder, f), os.path.join(folder, newname))
            renamed.append((f, newname))
        newidx += 1
print("переименовано:", renamed)
for old, new in renamed:
    disk_upload(f"/Рендеры с сайта/{NAME}/{new}", os.path.join(folder, new))
    print("загружен", new)
print("CLEANUP_DONE")
