Mazenbs commited on
Commit
ff3fc75
·
verified ·
1 Parent(s): ea27597

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -30
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) النصوص الخام