Commit ·
3e99551
1
Parent(s): 0ec4905
fix: restrict output to single surah (prevent cross-surah overflow)
Browse files
quran.py
CHANGED
|
@@ -321,6 +321,13 @@ def search_bayan(query_text: str,
|
|
| 321 |
"uthmani": w.get("uthmani", ""),
|
| 322 |
}
|
| 323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 324 |
ayah_nums = [a_num for (_, a_num) in involved]
|
| 325 |
sura_name = next(iter(involved.values()))["sura_name"]
|
| 326 |
|
|
|
|
| 321 |
"uthmani": w.get("uthmani", ""),
|
| 322 |
}
|
| 323 |
|
| 324 |
+
# منع تجاوز حدود السورة: اختر السورة الأكثر تمثيلاً فقط
|
| 325 |
+
sura_counts: dict[int, int] = {}
|
| 326 |
+
for w in matched_words:
|
| 327 |
+
sura_counts[w["sura_num"]] = sura_counts.get(w["sura_num"], 0) + 1
|
| 328 |
+
primary_sura = max(sura_counts, key=sura_counts.get)
|
| 329 |
+
involved = {k: v for k, v in involved.items() if k[0] == primary_sura}
|
| 330 |
+
|
| 331 |
ayah_nums = [a_num for (_, a_num) in involved]
|
| 332 |
sura_name = next(iter(involved.values()))["sura_name"]
|
| 333 |
|