Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
from fastapi import FastAPI, HTTPException, Query
|
| 2 |
from pydantic import BaseModel, HttpUrl, Field
|
| 3 |
from typing import List, Dict, Optional, Any, Tuple
|
|
@@ -53,10 +54,6 @@ def validate_ranges(ranges: List[List[int]]) -> List[Tuple[int, int]]:
|
|
| 53 |
@app.post("/extract", response_model=LegalDocumentResponse)
|
| 54 |
async def extract_text_endpoint(request: URLRequest):
|
| 55 |
try:
|
| 56 |
-
# إذا طلب الحفظ، نضمن أن التحليل مفعل
|
| 57 |
-
if request.save_to_supabase:
|
| 58 |
-
request.return_parsed = True
|
| 59 |
-
|
| 60 |
# 1) استخراج جميع النصوص
|
| 61 |
all_texts = await extract_text_from_url(str(request.url), request.timeout)
|
| 62 |
|
|
@@ -70,22 +67,11 @@ async def extract_text_endpoint(request: URLRequest):
|
|
| 70 |
# 3) تحليل القانون إذا طلب
|
| 71 |
if request.return_parsed:
|
| 72 |
parsed_document = parse_law_from_texts(filtered_texts)
|
| 73 |
-
|
| 74 |
-
# تعديل الرسالة
|
| 75 |
-
parsed_document["message"] = "success"
|
| 76 |
-
|
| 77 |
-
# تعديل all_blocks ليحتوي count و items
|
| 78 |
-
parsed_document["all_blocks"] = {
|
| 79 |
-
"count": len(filtered_texts),
|
| 80 |
-
"items": filtered_texts
|
| 81 |
-
}
|
| 82 |
-
|
| 83 |
if request.save_to_supabase:
|
| 84 |
save_law_to_supabase(parsed_document["law"])
|
| 85 |
parsed_document["saved_to_db"] = True
|
| 86 |
else:
|
| 87 |
parsed_document["saved_to_db"] = False
|
| 88 |
-
|
| 89 |
return LegalDocumentResponse(parsed_document=parsed_document)
|
| 90 |
|
| 91 |
# 4) النصوص الخام
|
|
@@ -106,32 +92,19 @@ async def extract_text_get(
|
|
| 106 |
timeout: int = Query(10, ge=1, le=60, description="مهلة الانتظار بالثواني")
|
| 107 |
):
|
| 108 |
try:
|
| 109 |
-
# إذا طلب الحفظ، نضمن أن التحليل مفعل
|
| 110 |
-
if save_to_supabase:
|
| 111 |
-
return_parsed = True
|
| 112 |
-
|
| 113 |
# 1) استخراج جميع النصوص
|
| 114 |
all_texts = await extract_text_from_url(str(url), timeout)
|
| 115 |
|
|
|
|
|
|
|
| 116 |
# 2) تحليل القانون إذا طلب
|
| 117 |
if return_parsed:
|
| 118 |
parsed_document = parse_law_from_texts(all_texts)
|
| 119 |
-
|
| 120 |
-
# تعديل الرسالة
|
| 121 |
-
parsed_document["message"] = "success"
|
| 122 |
-
|
| 123 |
-
# تعديل all_blocks ليحتوي count و items
|
| 124 |
-
parsed_document["all_blocks"] = {
|
| 125 |
-
"count": len(all_texts),
|
| 126 |
-
"items": all_texts
|
| 127 |
-
}
|
| 128 |
-
|
| 129 |
if save_to_supabase:
|
| 130 |
save_law_to_supabase(parsed_document["law"])
|
| 131 |
parsed_document["saved_to_db"] = True
|
| 132 |
else:
|
| 133 |
parsed_document["saved_to_db"] = False
|
| 134 |
-
|
| 135 |
return LegalDocumentResponse(parsed_document=parsed_document)
|
| 136 |
|
| 137 |
# 3) النصوص الخام
|
|
|
|
| 1 |
+
# app.py
|
| 2 |
from fastapi import FastAPI, HTTPException, Query
|
| 3 |
from pydantic import BaseModel, HttpUrl, Field
|
| 4 |
from typing import List, Dict, Optional, Any, Tuple
|
|
|
|
| 54 |
@app.post("/extract", response_model=LegalDocumentResponse)
|
| 55 |
async def extract_text_endpoint(request: URLRequest):
|
| 56 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
# 1) استخراج جميع النصوص
|
| 58 |
all_texts = await extract_text_from_url(str(request.url), request.timeout)
|
| 59 |
|
|
|
|
| 67 |
# 3) تحليل القانون إذا طلب
|
| 68 |
if request.return_parsed:
|
| 69 |
parsed_document = parse_law_from_texts(filtered_texts)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
if request.save_to_supabase:
|
| 71 |
save_law_to_supabase(parsed_document["law"])
|
| 72 |
parsed_document["saved_to_db"] = True
|
| 73 |
else:
|
| 74 |
parsed_document["saved_to_db"] = False
|
|
|
|
| 75 |
return LegalDocumentResponse(parsed_document=parsed_document)
|
| 76 |
|
| 77 |
# 4) النصوص الخام
|
|
|
|
| 92 |
timeout: int = Query(10, ge=1, le=60, description="مهلة الانتظار بالثواني")
|
| 93 |
):
|
| 94 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
# 1) استخراج جميع النصوص
|
| 96 |
all_texts = await extract_text_from_url(str(url), timeout)
|
| 97 |
|
| 98 |
+
# لا يوجد دعم للنطاقات في GET حالياً، يمكن إضافة لاحقاً إذا أردت
|
| 99 |
+
|
| 100 |
# 2) تحليل القانون إذا طلب
|
| 101 |
if return_parsed:
|
| 102 |
parsed_document = parse_law_from_texts(all_texts)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
if save_to_supabase:
|
| 104 |
save_law_to_supabase(parsed_document["law"])
|
| 105 |
parsed_document["saved_to_db"] = True
|
| 106 |
else:
|
| 107 |
parsed_document["saved_to_db"] = False
|
|
|
|
| 108 |
return LegalDocumentResponse(parsed_document=parsed_document)
|
| 109 |
|
| 110 |
# 3) النصوص الخام
|