54 lines
2.0 KiB
Python
54 lines
2.0 KiB
Python
"""Локальный ручной тест: чисто attach в OpenCloud, без Streamlit.
|
||
|
||
Использование:
|
||
1. Впишите ниже ACCESS_TOKEN, SPACE_ID (если отличается от дефолта),
|
||
FOLDER и путь к тестовому файлу.
|
||
2. Запустите: python scripts/local_opencloud_smoke.py
|
||
|
||
Использует тот же app/opencloud_access.py, что и продакшн-код в
|
||
app/pipeline/service.py — так что если тут сработает, значит и в
|
||
приложении сработает (сама логика загрузки не отличается).
|
||
"""
|
||
|
||
from __future__ import annotations
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
||
|
||
from app.opencloud_access import OpenCloudUploadError, upload_local_file_to_opencloud
|
||
|
||
# --- Заполните перед запуском ---
|
||
ACCESS_TOKEN = "PASTE_TOKEN_HERE"
|
||
SPACE_ID = "28c0cecf-1e20-4664-b165-5c9d5515e70f" # тестовое пространство AURORA
|
||
FOLDER = "Райков М.С." # ваша личная папка в OpenCloud
|
||
LOCAL_FILE = Path(__file__).resolve().parent / "test_upload.xlsx"
|
||
REMOTE_FILE_NAME = "test_upload.xlsx"
|
||
# ---------------------------------
|
||
|
||
|
||
def main() -> None:
|
||
if not LOCAL_FILE.exists():
|
||
LOCAL_FILE.write_bytes(b"local opencloud smoke test")
|
||
print(f"Тестовый файл создан: {LOCAL_FILE}")
|
||
|
||
try:
|
||
url = upload_local_file_to_opencloud(
|
||
LOCAL_FILE,
|
||
space_id=SPACE_ID,
|
||
folder_segments=(FOLDER,),
|
||
file_name=REMOTE_FILE_NAME,
|
||
access_token=ACCESS_TOKEN,
|
||
)
|
||
except OpenCloudUploadError as exc:
|
||
print(f"ОШИБКА: {exc}")
|
||
raise SystemExit(1) from exc
|
||
|
||
print(f"OK, загружено: {url}")
|
||
print("Проверьте файл в веб-интерфейсе OpenCloud, в папке", FOLDER)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main()
|