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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -3
app.py CHANGED
@@ -1,4 +1,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,6 +53,10 @@ def validate_ranges(ranges: List[List[int]]) -> List[Tuple[int, int]]:
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,11 +70,22 @@ async def extract_text_endpoint(request: URLRequest):
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,19 +106,32 @@ async def extract_text_get(
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) النصوص الخام
 
 
1
  from fastapi import FastAPI, HTTPException, Query
2
  from pydantic import BaseModel, HttpUrl, Field
3
  from typing import List, Dict, Optional, Any, Tuple
 
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
  # 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
  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) النصوص الخام