superadmin / scripts /compare_mappings.py
suhailshafi007's picture
feat: integrate Cloudflare R2 Quran translations, add translation endpoints and edge caching
3c6e2f1
Raw History Blame Contribute Delete
1.54 kB
import json
import re
with open("BACKEND/scripts/archive_surah_audio_mappings.json", "r", encoding="utf-8") as f:
mappings = json.load(f)
# Read kUrduSurahFilenames from tafsir_audio_service.dart
with open("FRONTEND/lib/services/tafsir_audio_service.dart", "r", encoding="utf-8") as f:
dart_code = f.read()
m = re.search(r"static const Map<int, String> kUrduSurahFilenames = \{(.*?)\};", dart_code, re.DOTALL)
israr_ur = {}
if m:
lines = m.group(1).splitlines()
for l in lines:
lm = re.search(r'(\d+):\s*"([^"]+)"', l)
if lm:
israr_ur[int(lm.group(1))] = lm.group(2)
maududi_ur = {int(k): v for k, v in mappings['Maududi_Urdu'].items()}
ibn_kathir_ur = {int(k): v for k, v in mappings['Ibn_Kathir_Urdu'].items()}
maududi_en = {int(k): v for k, v in mappings['Maududi_English'].items()}
diff_maududi = [i for i in range(1, 115) if israr_ur.get(i) != maududi_ur.get(i)]
diff_ibn_kathir = [i for i in range(1, 115) if israr_ur.get(i) != ibn_kathir_ur.get(i)]
print(f"Maududi Urdu diff vs Israr Urdu: {len(diff_maududi)} differences.")
if diff_maududi:
for i in diff_maududi[:5]:
print(f" Surah {i}:")
print(f" Israr: {israr_ur.get(i)}")
print(f" Maududi: {maududi_ur.get(i)}")
print(f"Ibn Kathir Urdu diff vs Israr Urdu: {len(diff_ibn_kathir)} differences.")
if diff_ibn_kathir:
for i in diff_ibn_kathir[:5]:
print(f" Surah {i}:")
print(f" Israr: {israr_ur.get(i)}")
print(f" Ibn Kathir: {ibn_kathir_ur.get(i)}")