Initial commit
This commit is contained in:
50
uploader.py
Normal file
50
uploader.py
Normal file
@@ -0,0 +1,50 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user