#!/usr/bin/env python3
# Поиск на Диске sk: файлы с заявками/лидами/клиентами
import json, urllib.request, urllib.parse

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 ls(path):
    url = "https://cloud-api.yandex.net/v1/disk/resources?path=" + urllib.parse.quote(path) + "&limit=100"
    req = urllib.request.Request(url, headers=H)
    return json.loads(urllib.request.urlopen(req, timeout=60).read())

# корень диска
try:
    root = ls("/")
    items = root.get("_embedded", {}).get("items", [])
    print("Корень Диска sk:")
    for it in items:
        print(f"  [{it['type']}] {it['name']}")
except Exception as e:
    print("ERR корень:", e)

# поиск по ключевым словам в корне и 2 уровня вглубь
KEY = ["заявк", "лид", "клиент", "crm", "сделк", "заказ", "звонк"]
def scan(path, depth):
    if depth > 3:
        return
    try:
        data = ls(path)
        for it in data.get("_embedded", {}).get("items", []):
            low = it["name"].lower()
            if it["type"] == "file":
                if any(k in low for k in KEY):
                    print(f"  ФАЙЛ: {it['path']}")
            else:
                if any(k in low for k in KEY):
                    print(f"  ПАПКА: {it['path']}")
                scan(it["path"], depth + 1)
    except Exception:
        pass

print("\nПоиск заявок/лидов (глубина 3):")
scan("/", 1)
