asad231 commited on
Commit
f7091cb
Β·
verified Β·
1 Parent(s): 4c233f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +83 -14
app.py CHANGED
@@ -699,30 +699,99 @@
699
  # description="View full Surah from Quran with Arabic and English translation (No Audio)"
700
  # ).launch()
701
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
702
  import gradio as gr
703
  import requests
704
 
705
- # Get surah text by number
706
  def get_surah(surah_number):
707
  try:
708
- url = f"https://api.alquran.cloud/v1/surah/{surah_number}/editions/quran-simple,en.asad"
709
  response = requests.get(url)
710
  response.raise_for_status()
711
  data = response.json()
712
 
713
- if 'data' in data and len(data['data']) == 2:
714
  arabic = "\n\n".join(
715
  [f"{i+1}. {a['text']}" for i, a in enumerate(data['data'][0]['ayahs'])]
716
  )
717
- translation = "\n\n".join(
718
  [f"{i+1}. {t['text']}" for i, t in enumerate(data['data'][1]['ayahs'])]
719
  )
720
- return arabic, translation
721
- return "❌ Surah not found.", "❌ Translation not found."
 
 
 
722
  except Exception as e:
723
- return f"❌ API Error: {e}", ""
724
 
725
- # Surah List (1-114)
726
  surah_names = [
727
  "1 - Al-Fatiha", "2 - Al-Baqarah", "3 - Aal-E-Imran", "4 - An-Nisa", "5 - Al-Ma'idah",
728
  "6 - Al-An'am", "7 - Al-A'raf", "8 - Al-Anfal", "9 - At-Tawbah", "10 - Yunus",
@@ -749,19 +818,19 @@ surah_names = [
749
  "111 - Al-Masad", "112 - Al-Ikhlas", "113 - Al-Falaq", "114 - An-Nas"
750
  ]
751
 
752
- # Extract surah number
753
  def extract_number(surah_name):
754
  return int(surah_name.split(" - ")[0])
755
 
756
- # Gradio App
757
  gr.Interface(
758
  fn=lambda selected: get_surah(extract_number(selected)),
759
  inputs=gr.Dropdown(choices=surah_names, label="πŸ“– Select a Surah"),
760
  outputs=[
761
  gr.Textbox(label="πŸ“œ Arabic Text", lines=15),
762
- gr.Textbox(label="🌐 English Translation", lines=15)
 
763
  ],
764
- title="πŸ“– Quran Surah Viewer (Arabic + English)",
765
- description="Select a Surah to see its Arabic text and English translation."
766
  ).launch()
767
-
 
699
  # description="View full Surah from Quran with Arabic and English translation (No Audio)"
700
  # ).launch()
701
 
702
+ # import gradio as gr
703
+ # import requests
704
+
705
+ # # Get surah text by number
706
+ # def get_surah(surah_number):
707
+ # try:
708
+ # url = f"https://api.alquran.cloud/v1/surah/{surah_number}/editions/quran-simple,en.asad"
709
+ # response = requests.get(url)
710
+ # response.raise_for_status()
711
+ # data = response.json()
712
+
713
+ # if 'data' in data and len(data['data']) == 2:
714
+ # arabic = "\n\n".join(
715
+ # [f"{i+1}. {a['text']}" for i, a in enumerate(data['data'][0]['ayahs'])]
716
+ # )
717
+ # translation = "\n\n".join(
718
+ # [f"{i+1}. {t['text']}" for i, t in enumerate(data['data'][1]['ayahs'])]
719
+ # )
720
+ # return arabic, translation
721
+ # return "❌ Surah not found.", "❌ Translation not found."
722
+ # except Exception as e:
723
+ # return f"❌ API Error: {e}", ""
724
+
725
+ # # Surah List (1-114)
726
+ # surah_names = [
727
+ # "1 - Al-Fatiha", "2 - Al-Baqarah", "3 - Aal-E-Imran", "4 - An-Nisa", "5 - Al-Ma'idah",
728
+ # "6 - Al-An'am", "7 - Al-A'raf", "8 - Al-Anfal", "9 - At-Tawbah", "10 - Yunus",
729
+ # "11 - Hud", "12 - Yusuf", "13 - Ar-Ra'd", "14 - Ibrahim", "15 - Al-Hijr",
730
+ # "16 - An-Nahl", "17 - Al-Isra", "18 - Al-Kahf", "19 - Maryam", "20 - Ta-Ha",
731
+ # "21 - Al-Anbiya", "22 - Al-Hajj", "23 - Al-Mu'minun", "24 - An-Nur", "25 - Al-Furqan",
732
+ # "26 - Ash-Shu'ara", "27 - An-Naml", "28 - Al-Qasas", "29 - Al-Ankabut", "30 - Ar-Rum",
733
+ # "31 - Luqman", "32 - As-Sajda", "33 - Al-Ahzab", "34 - Saba", "35 - Fatir",
734
+ # "36 - Ya-Sin", "37 - As-Saffat", "38 - Sad", "39 - Az-Zumar", "40 - Ghafir",
735
+ # "41 - Fussilat", "42 - Ash-Shura", "43 - Az-Zukhruf", "44 - Ad-Dukhan", "45 - Al-Jathiya",
736
+ # "46 - Al-Ahqaf", "47 - Muhammad", "48 - Al-Fath", "49 - Al-Hujurat", "50 - Qaf",
737
+ # "51 - Adh-Dhariyat", "52 - At-Tur", "53 - An-Najm", "54 - Al-Qamar", "55 - Ar-Rahman",
738
+ # "56 - Al-Waqi'a", "57 - Al-Hadid", "58 - Al-Mujadila", "59 - Al-Hashr", "60 - Al-Mumtahina",
739
+ # "61 - As-Saff", "62 - Al-Jumua", "63 - Al-Munafiqun", "64 - At-Taghabun", "65 - At-Talaq",
740
+ # "66 - At-Tahrim", "67 - Al-Mulk", "68 - Al-Qalam", "69 - Al-Haqqah", "70 - Al-Ma'arij",
741
+ # "71 - Nuh", "72 - Al-Jinn", "73 - Al-Muzzammil", "74 - Al-Muddaththir", "75 - Al-Qiyama",
742
+ # "76 - Al-Insan", "77 - Al-Mursalat", "78 - An-Naba", "79 - An-Nazi'at", "80 - Abasa",
743
+ # "81 - At-Takwir", "82 - Al-Infitar", "83 - Al-Mutaffifin", "84 - Al-Inshiqaq", "85 - Al-Buruj",
744
+ # "86 - At-Tariq", "87 - Al-Ala", "88 - Al-Ghashiyah", "89 - Al-Fajr", "90 - Al-Balad",
745
+ # "91 - Ash-Shams", "92 - Al-Lail", "93 - Ad-Duhaa", "94 - Ash-Sharh", "95 - At-Tin",
746
+ # "96 - Al-Alaq", "97 - Al-Qadr", "98 - Al-Bayyina", "99 - Az-Zalzala", "100 - Al-Adiyat",
747
+ # "101 - Al-Qari'a", "102 - At-Takathur", "103 - Al-Asr", "104 - Al-Humaza", "105 - Al-Fil",
748
+ # "106 - Quraish", "107 - Al-Ma'un", "108 - Al-Kawthar", "109 - Al-Kafiroon", "110 - An-Nasr",
749
+ # "111 - Al-Masad", "112 - Al-Ikhlas", "113 - Al-Falaq", "114 - An-Nas"
750
+ # ]
751
+
752
+ # # Extract surah number
753
+ # def extract_number(surah_name):
754
+ # return int(surah_name.split(" - ")[0])
755
+
756
+ # # Gradio App
757
+ # gr.Interface(
758
+ # fn=lambda selected: get_surah(extract_number(selected)),
759
+ # inputs=gr.Dropdown(choices=surah_names, label="πŸ“– Select a Surah"),
760
+ # outputs=[
761
+ # gr.Textbox(label="πŸ“œ Arabic Text", lines=15),
762
+ # gr.Textbox(label="🌐 English Translation", lines=15)
763
+ # ],
764
+ # title="πŸ“– Quran Surah Viewer (Arabic + English)",
765
+ # description="Select a Surah to see its Arabic text and English translation."
766
+ # ).launch()
767
+
768
  import gradio as gr
769
  import requests
770
 
771
+ # βœ… Get Arabic, English, and Urdu text
772
  def get_surah(surah_number):
773
  try:
774
+ url = f"https://api.alquran.cloud/v1/surah/{surah_number}/editions/quran-simple,en.asad,ur.jalandhry"
775
  response = requests.get(url)
776
  response.raise_for_status()
777
  data = response.json()
778
 
779
+ if 'data' in data and len(data['data']) == 3:
780
  arabic = "\n\n".join(
781
  [f"{i+1}. {a['text']}" for i, a in enumerate(data['data'][0]['ayahs'])]
782
  )
783
+ english = "\n\n".join(
784
  [f"{i+1}. {t['text']}" for i, t in enumerate(data['data'][1]['ayahs'])]
785
  )
786
+ urdu = "\n\n".join(
787
+ [f"{i+1}. {u['text']}" for i, u in enumerate(data['data'][2]['ayahs'])]
788
+ )
789
+ return arabic, english, urdu
790
+ return "❌ Surah not found.", "❌ English not found.", "❌ Urdu not found."
791
  except Exception as e:
792
+ return f"❌ API Error: {e}", "", ""
793
 
794
+ # βœ… Surah List
795
  surah_names = [
796
  "1 - Al-Fatiha", "2 - Al-Baqarah", "3 - Aal-E-Imran", "4 - An-Nisa", "5 - Al-Ma'idah",
797
  "6 - Al-An'am", "7 - Al-A'raf", "8 - Al-Anfal", "9 - At-Tawbah", "10 - Yunus",
 
818
  "111 - Al-Masad", "112 - Al-Ikhlas", "113 - Al-Falaq", "114 - An-Nas"
819
  ]
820
 
821
+ # βœ… Extract number from dropdown
822
  def extract_number(surah_name):
823
  return int(surah_name.split(" - ")[0])
824
 
825
+ # βœ… Gradio App (3 outputs now: Arabic, English, Urdu)
826
  gr.Interface(
827
  fn=lambda selected: get_surah(extract_number(selected)),
828
  inputs=gr.Dropdown(choices=surah_names, label="πŸ“– Select a Surah"),
829
  outputs=[
830
  gr.Textbox(label="πŸ“œ Arabic Text", lines=15),
831
+ gr.Textbox(label="🌐 English Translation", lines=15),
832
+ gr.Textbox(label="πŸŒ™ Urdu Translation", lines=15)
833
  ],
834
+ title="πŸ“– Quran Surah Viewer (Arabic + English + Urdu)",
835
+ description="Select a Surah to view Arabic text, English translation, and Urdu translation."
836
  ).launch()