Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -855,7 +855,7 @@ async def handle_upload(files: List[UploadFile] = File(...)):
|
|
855 |
return JSONResponse(content={"error": "Failed to obtain necessary cookies"}, status_code=500)
|
856 |
|
857 |
folder_id = str(uuid.uuid4())
|
858 |
-
folder_path =
|
859 |
os.makedirs(folder_path, exist_ok=True)
|
860 |
|
861 |
uploaded_files = []
|
@@ -870,10 +870,10 @@ async def handle_upload(files: List[UploadFile] = File(...)):
|
|
870 |
return JSONResponse(content={"error": f"File upload failed for {file.filename} after multiple attempts"}, status_code=500)
|
871 |
|
872 |
original_url = upload_result['serving_url']
|
873 |
-
mirrored_url = f"{
|
874 |
uploaded_files.append({"name": file.filename, "url": mirrored_url})
|
875 |
|
876 |
-
return JSONResponse(content={"folder_url":
|
877 |
|
878 |
@app.get("/rbxg/{folder_id}/{file_name}")
|
879 |
async def handle_file_stream(folder_id: str, file_name: str, request: Request):
|
@@ -978,7 +978,7 @@ async def upload_file(upload_url: str, file_content: bytes, content_type: str) -
|
|
978 |
return False
|
979 |
|
980 |
async def retry_upload(upload_url: str, file_content: bytes, content_type: str, max_retries: int = 5, delay: int = 1) -> bool:
|
981 |
-
|
982 |
try:
|
983 |
success = await upload_file(upload_url, file_content, content_type)
|
984 |
if success:
|
@@ -990,4 +990,8 @@ async def retry_upload(upload_url: str, file_content: bytes, content_type: str,
|
|
990 |
await asyncio.sleep(delay)
|
991 |
delay = min(delay * 2, 60) # Exponential backoff, capped at 60 seconds
|
992 |
|
993 |
-
return False
|
|
|
|
|
|
|
|
|
|
855 |
return JSONResponse(content={"error": "Failed to obtain necessary cookies"}, status_code=500)
|
856 |
|
857 |
folder_id = str(uuid.uuid4())
|
858 |
+
folder_path = os.path.join("uploads", folder_id)
|
859 |
os.makedirs(folder_path, exist_ok=True)
|
860 |
|
861 |
uploaded_files = []
|
|
|
870 |
return JSONResponse(content={"error": f"File upload failed for {file.filename} after multiple attempts"}, status_code=500)
|
871 |
|
872 |
original_url = upload_result['serving_url']
|
873 |
+
mirrored_url = f"/rbxg/{folder_id}/{file.filename}"
|
874 |
uploaded_files.append({"name": file.filename, "url": mirrored_url})
|
875 |
|
876 |
+
return JSONResponse(content={"folder_url": f"/rbxg/{folder_id}", "files": uploaded_files})
|
877 |
|
878 |
@app.get("/rbxg/{folder_id}/{file_name}")
|
879 |
async def handle_file_stream(folder_id: str, file_name: str, request: Request):
|
|
|
978 |
return False
|
979 |
|
980 |
async def retry_upload(upload_url: str, file_content: bytes, content_type: str, max_retries: int = 5, delay: int = 1) -> bool:
|
981 |
+
for _ in range(max_retries):
|
982 |
try:
|
983 |
success = await upload_file(upload_url, file_content, content_type)
|
984 |
if success:
|
|
|
990 |
await asyncio.sleep(delay)
|
991 |
delay = min(delay * 2, 60) # Exponential backoff, capped at 60 seconds
|
992 |
|
993 |
+
return False
|
994 |
+
|
995 |
+
if __name__ == "__main__":
|
996 |
+
import uvicorn
|
997 |
+
uvicorn.run(app, host="0.0.0.0", port=7860)
|