Files
agent_v0/uploader.py
2026-03-05 00:20:23 +01:00

51 lines
1.4 KiB
Python

# uploader.py
from __future__ import annotations
import os
from typing import Optional
import requests
from config import SERVER_URL
def upload_session_zip(zip_path: str, session_id: str) -> bool:
"""
Envoie le zip de session au serveur.
Retourne True si HTTP 2xx, False sinon.
"""
# Si pas configuré sérieusement, on n'upload pas
if not SERVER_URL or "example.com" in SERVER_URL:
print("[agent_v0] SERVER_URL non configuré (ou placeholder), upload désactivé.")
return False
if not os.path.isfile(zip_path):
print(f"[agent_v0] ZIP introuvable pour upload : {zip_path}")
return False
print(f"[agent_v0] Upload du ZIP {zip_path} vers {SERVER_URL} ...")
try:
with open(zip_path, "rb") as f:
files = {
"file": (os.path.basename(zip_path), f, "application/zip"),
}
data = {
"session_id": session_id,
}
# Timeout plus agressif pour ne pas bloquer
resp = requests.post(SERVER_URL, files=files, data=data, timeout=5)
if 200 <= resp.status_code < 300:
print(f"[agent_v0] Upload réussi (HTTP {resp.status_code}).")
return True
print(f"[agent_v0] Upload échoué (HTTP {resp.status_code}). Réponse: {resp.text[:200]}")
return False
except Exception as e:
print(f"[agent_v0] Erreur lors de l'upload : {e}")
return False