Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -19,6 +19,7 @@ app = FastAPI(
|
|
| 19 |
# ============================
|
| 20 |
class IndexedURLRequest(BaseModel):
|
| 21 |
url: HttpUrl
|
|
|
|
| 22 |
timeout: int = Field(10, ge=1, le=60)
|
| 23 |
title_index: int = Field(..., ge=0)
|
| 24 |
preamble_start: Optional[int] = Field(None, ge=0)
|
|
@@ -128,10 +129,16 @@ async def extract_indexed(request: IndexedURLRequest):
|
|
| 128 |
# 3) إذا كان return_parsed = True → نرجّع البيانات بعد التحليل
|
| 129 |
if request.return_parsed:
|
| 130 |
parsed = parse_law_from_texts(datalist)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
return parsed
|
| 132 |
|
| 133 |
-
#
|
| 134 |
return datalist
|
| 135 |
|
| 136 |
except Exception as e:
|
| 137 |
-
raise HTTPException(status_code=500, detail=f"خطأ في معالجة المحتوى: {str(e)}")
|
|
|
|
| 19 |
# ============================
|
| 20 |
class IndexedURLRequest(BaseModel):
|
| 21 |
url: HttpUrl
|
| 22 |
+
save_to_supabase: bool = False
|
| 23 |
timeout: int = Field(10, ge=1, le=60)
|
| 24 |
title_index: int = Field(..., ge=0)
|
| 25 |
preamble_start: Optional[int] = Field(None, ge=0)
|
|
|
|
| 129 |
# 3) إذا كان return_parsed = True → نرجّع البيانات بعد التحليل
|
| 130 |
if request.return_parsed:
|
| 131 |
parsed = parse_law_from_texts(datalist)
|
| 132 |
+
|
| 133 |
+
# 4) حفظ إلى Supabase إذا طُلب
|
| 134 |
+
if request.save_to_supabase:
|
| 135 |
+
# نفترض أن parse_law_from_texts تعيد dict يحتوي على مفتاح "law"
|
| 136 |
+
save_law_to_supabase(parsed["law"])
|
| 137 |
+
|
| 138 |
return parsed
|
| 139 |
|
| 140 |
+
# 5) وإلا نرجّع القائمة المفهرسة كما هي
|
| 141 |
return datalist
|
| 142 |
|
| 143 |
except Exception as e:
|
| 144 |
+
raise HTTPException(status_code=500, detail=f"خطأ في معالجة المحتوى: {str(e)}")
|