<p align="center">
  <img src="https://raw.githubusercontent.com/oaokm/AL-Khatma/main/Logo/AL_Khatma_logo_one.png" alt="AL-Khatma Logo For Arabic and English">
</p>

<p align="center">
  <a href="https://github.com/oaokm/AL-Khatma/blob/main/README.md">Arabic</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="https://github.com/oaokm/AL-Khatma/blob/main/README_EN.md">English</a>
</p>

<p align="center">
  <a href="#فكرة_الختمة">فكرة الختمة</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="#تحميل_المكتبة">تحميل المكتبة</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="#التعامل_مع_المكتبة">التعامل مع المكتبة</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="#المصادر">المصادر</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="#الترخيص">الترخيص</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="https://github.com/oaokm/AL-Khatma/blob/main/UPDATE.md">التحديثات</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="https://github.com/oaokm/AL-Khatma/issues">صفحة حل المشكلات</a>
  &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
  <a href="https://github.com/oaokm/AL-Khatma/issues/new/choose">التبليغ عن مشكلة</a>
</p>

<!-- <details>
  <summary>الوصول السريع</summary>
    <p align="center">
      <a href="#فكرة_الختمة">فكرة الختمة</a>
      &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;
      <a href="#تحميل_المكتبة">تحميل المكتبة</a>
    </p>
</details> -->



![GitHub](https://img.shields.io/github/license/oaokm/AL-Khatma) | ![](https://img.shields.io/badge/Programing%20Language-Python_3_and_top-orange) | ![PyPI](https://img.shields.io/pypi/v/AL-Khatma-lib) | ![GitHub repo size](https://img.shields.io/github/repo-size/oaokm/AL-Khatma)
--| --| -- | --| 


## **بيان**
في يوم الثالث من أبريل من عام 2023 الموافق الثاني عشر من رمضان لعام 1444 هـ في هذا اليوم بدأت الفكرة وبعدها قمت بتطبيق الفكرة وبناء أول API لي.

وفي اليوم التاسع عشر من أبريل من عام 2023 الموافق الثامن والعشرون من رمضان لعام 1444 هـ وبتوفيق من الله لقد أنهيت النسخة الأولى من هذا المشروع ولله الحمد.
وأشكر أخي وأختي اللذانِ دعمني وحفزاني لإتمّ هذا المشروع ❤️


## فكرة_الختمة
**الختمة** هو مشروع مفتوح المصدر تم بنائه لتوحيد المتعلقات المتعلقة بالديانة الإسلامية (كالقرأن الكريم، والأحاديث الشريفة ، والتفسير، والأدعية، وغيرها) في مكان واحد.
وتتمتع المكتبة بعدّة حزمّ، وأهمها:

* **حزمة القرأن الكريم**:.
  * استخراج جميع الأيات القرآنية وكاقة معلوماتها.
  * إمكانية البحث عن الأيات الكريمة.
  * إمكانية تحميل صور صفحات القرآن الكريم.
  * المكتبة مزودة بعدّة لغات. ومنها:
    * اللغة العربية
    * اللغة الإنجليزية
    * اللغة الصينية
    * اللغة التركية
    * اللغة الروسية
    * اللغة السويدية
    * اللغة الأردية
    * اللغة الفرنسية
    * اللغة الإسبانية
    * اللغة الإندنسية
* **حزمة تختيم القرآن الكريم**.
  * كتابة عدد أيام التختيم، وإعطاء الخطة المناسبة لذلك بالتفاصيل
  * إصدار ملف بي دي أف (PDF) وإعطاء لكل يوم ملف يحتوي على السور الأيات التي يحب قرآتها لإنهاء القرآن كاملًا.
* **حزمة البي دي أف للقرآن الكريم**
  * إصدار أي عدد صفحات وتصديرها إلى ملف بي دي أف
  * تفسيم صفحات القرآن الكريم، وتصدير الورد اليومي كملف بي دي أف
  * جودة الصفحات المستخدمه في التصدير عالية
  * يمكن أصدار سورة معينه بجميع أياتها
* **حزمة التفسير للقرآن الكريم، يحتوي حاليا على الكتب التالية:**
  * كتاب تفسير المُيسر للقرآن الكريم
  * كتاب تفسير المختصر للقرآن الكريم
* **حزمة الأذكار**
  * تحتوي على أكثر من 130 فئة أو ذِّكر


ويتم العمل على حزمة الصوتيات، سيتم الإعلان عنها في الإصدارات القادمة -إن شاء الله-

## **تحميل_المكتبة**

### التحميل عن طريق **Github**
**الطريقة الأولى**: عن طريق سطر الأوامر:

* إنشاء ملف بأسم **`AL_Khatma`**
* افتح سطر الأوامر وأكتب هذا الأمر:

```sh
S git clone https://github.com/oaokm/AL-Khatma
```

**الطريقة الثانية**: تحميلها من المتصفح بصيغة ملف مضعوط `.zip`


### التحميل عن طريق **pypi**

```sh
$ pip install AL-Khatma-lib
```
**أو**
```sh
$ pip3 install AL-Khatma-lib
```

### طريقة عمل تحديث للمكتبة
```sh
$ pip install AL-Khatma-lib -U
```
أو 
```sh
$ pip install AL-Khatma-lib --upgrade
```

#### تحميل الملفات الهامة
الملفات الهامة هي ملف اللغة وبعض الملفات التي تساعد عمل البرنامج، بكتابة الأمر التالي:

```py
>>> import AL_Khatma
>>> AL_Khatma.Download_DATA()
```
وأنتظر إلى أن تتم عملية التحميل بنجاح


## **التعامل_مع_المكتبة**

حاليا هنالك حزمتين، وهي:

* حزمة القرآن الكريم
* حزمة تختيم القرآن الكريم

### **طباعة إصدار المكتبة**
لطباعة إصدار المكتبة يجب عليك أستدعاء المكتبة كما هو موضح:
```py
>>> import AL_Khatma
>>> AL_Khatma.__version__
'1.0.0'
```
### **طريقة أستخراج السور القرآنية الكريمة**
الأمر الذي يقوم بأستخراج محتوى القرآن الكريم هو `Quran().show_block_aya`. وهذا الأمر يقوم بإرجاع لك قيمة على شكل متغير القائمة(list) وتكون دائما عدد العناصر في القائمة مساوية لعدد الأيات الكريمة للسورة التي أستدعيتها.

```py
Quran.show_block_aya(
            self,
            verses_no:int,
            verses_number:list,
            orderly=False,
            ):
        """
        show_block_aya(func): هي دالة تقوم بإستخراج ما يدرده المستخدم من ملف اللغة
        verses_no(int): أستخراج السورة التي تريدها
        verses_number(list): في حالة أنك تريد سورة بعينها يمكنك ذلك بكتابة رقم أيتها. ويمكن أن تجعلعا فارغة
        orderly(bool): إذا أردت أن ترى النتيجة مطبوعة بشكل يمكن قراءتها
        """
```

  > **مثلا للتوضيح**: فمثلا سورة الفاتحة عدد أياتها 7 مع البسملة فإن البرنامج سيعيد لك 7 عناصر داخل القائمة.

وكل عنصر يحتوي على معلومات للأية على شكل متغير القاموس (dict) ويكون شكله كالتالي:

```json
// Form JSON File 'main.json' (Arabic + English) //
{
        "ID": 1,
        "Name": "الفَاتِحة",
        "Transliteration": "Al-Fātiḥah",
        "translation": "The Opener",
        "type": "meccan",
        "total_verses": 7,
        "verses_no": 1,
        "jozz": 1,
        "page": 1,
        "verses_number": 1,
        "line_start": 2,
        "line_end": 2,
        "verses_text": "بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ",
        "verses_text_without_diacritical": "بسم الله الرحمن الرحيم",
        "verses_text_english": "In the name of Allah, the Entirely Merciful, the Especially Merciful",
        "verses_text_transliteration": "Bismi Allahi alrrahmani alrraheemi"
}
```
العنصر | تعريف
----- | ------
`ID`  |  مُعرف الخاص للأية الكريمة
`Name`|  أسم السورة الكريمة
`Transliteration`|  السورة الكريمة بلغات أخرى
`translation`| حرفي/تهجأ أسم اللسورة الكريمة لغير العرب
`type`|  نوع السورة الكريمة، إمّا مّكيِّة أو مدنيّة
`total_verses`|  إجمالي عدد أيات في السورة الكريمة
`verses_no`|  يوضج لك ترتيب السورة بين السور، بناءًا على نسخة القرآن الكريم لمجمع الملك فهد لطباعة المصحف الشريف
`jozz`|  يوضح لك مكان الأية الكريمة بالنسبة للجزء
`page`|  يوضح لك مكان الأية الكريمة بالنسبة للصفحة
`verses_number`|  يوضح لك موقع الأية الكريمة في السورة
`line_start`| يوضح لك موقع الأية بالنسبة لمكان ظهوره في بداية السطر(بناءًا على نسخة القرآن الكريم لمجمع الملك فهد لطباعة المصحف الشريف)
`line_end`| يوضح لك موقع الأية الكريمة بالنسبة لمكان ظهوره في نهاية السطر (بناءًا على نسخة القرآن الكريم لمجمع الملك فهد لطباعة المصحف الشريف)
`verses_text`| نص الأية الكريمة مع التشكيل
`verses_text_without_diacritical`| نص الأية الكريمة بدون التشكيل
`verses_text_english`| نص الأية الكريمة باللغات آخرى
`verses_text_transliteration`| حرفي/تهجأ الأية الكريمة لغير العرب



#### **الطريقة الأولى**: أستخراج الأيات من السورة فقط:

هناك عدّة طرق لكتابة أمر `show_block_aya`:

```py
>>> from AL_Khatma.quran import Quran # تقوم هنا بأستدعاء المكتبة
>>> quran = Quran() # أستدعاء للكائن
>>> sura  = quran.show_block_aya(1, []) # أمر أستدعاء السورة بناءًا على ترتيبها في الفهرس مع كافة أياتها ومعلوماتها
>>> sura
([{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_english': 'In the name of Allah, the Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}, {'ID': 2, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 2, 'line_start': 3, 'line_end': 3, 'verses_text': 'ٱلۡحَمۡدُ لِلَّهِ رَبِّ ٱلۡعَٰلَمِينَ', 'verses_text_without_diacritical': 'الحمد لله رب العالمين', 'verses_text_english': '[All] praise is [due] to Allah, Lord of the worlds', 'verses_text_transliteration': 'Alhamdu lillahi rabbi alAAalameena'}, {'ID': 3, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 3, 'line_start': 4, 'line_end': 4, 'verses_text': 'ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'الرحمن الرحيم', 'verses_text_english': 'The Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Alrrahmani alrraheemi'}, {'ID': 4, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 4, 'line_start': 4, 'line_end': 4, 'verses_text': 'مَٰلِكِ يَوۡمِ ٱلدِّينِ', 'verses_text_without_diacritical': 'مالك يوم الدين', 'verses_text_english': 'Sovereign of the Day of Recompense', 'verses_text_transliteration': 'Maliki yawmi alddeeni'}, {'ID': 5, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 5, 'line_start': 5, 'line_end': 5, 'verses_text': 'إِيَّاكَ نَعۡبُدُ وَإِيَّاكَ نَسۡتَعِينُ', 'verses_text_without_diacritical': 'إياك نعبد وإياك نستعين', 'verses_text_english': 'It is You we worship and You we ask for help', 'verses_text_transliteration': 'Iyyaka naAAbudu waiyyaka nastaAAeenu'}, {'ID': 6, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 6, 'line_start': 5, 'line_end': 6, 'verses_text': 'ٱهۡدِنَا ٱلصِّرَٰطَ ٱلۡمُسۡتَقِيمَ', 'verses_text_without_diacritical': 'اهدنا الصراط المستقيم', 'verses_text_english': 'Guide us to the straight path', 'verses_text_transliteration': 'Ihdina alssirata almustaqeema'}, {'ID': 7, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 7, 'line_start': 6, 'line_end': 8, 'verses_text': 'صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ وَلَا ٱلضَّآلِّينَ', 'verses_text_without_diacritical': 'صراط الذين أنعمت عليهم غير المغضوب عليهم ولا الضالين', 'verses_text_english': 'The path of those upon whom You have bestowed favor, not of those who have evoked [Your] anger or of those who are astray', 'verses_text_transliteration': 'Sirata allatheena anAAamta AAalayhim ghayri almaghdoobi AAalayhim wala alddalleena'}], [])
```
لتحديد أية بعينها تقوم بالتالي:

```py
>>> len(sura) # عدد العناصر المرجعة من أمر `quran.show_block_aya`
2
>>> sura[0][0] # طباعة معلومات الأية المحددة
{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_english': 'In the name of Allah, the Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}
>>> sura[0][0]['verses_text_without_diacritical'] # طباعة شيء محدد من القاموس
'بسم الله الرحمن الرحيم'
```

#### **الطريقة الثانية**: أستخراج أيات محددة في السورة:
> **الملاحظة الأولى**: يمكنك وضع أكثر من أية، بشرط ألا تتعدى مجموع عدد الأيات في السورة؛ لأن البرنامج سيقوم بإرجاع لا شيء لقيمتك التي وضعتها.

> **الملاحظة الثانية**: يمكنك إهمال ترتيب الأيات(في متغير القائمة) ، ولكن حبذا أن يكون مرتبًا.

```py
>>> from AL_Khatma.quran import Quran # تقوم هنا بأستدعاء المكتبة
>>> quran = Quran() # أستدعاء للكائن
>>> sura  = quran.show_block_aya(1, [6, 7]) # نقوم هنا بأستدعاء السورة مع تحديد أيات التي نريدها
>>> sura[1] # قم بتحديد العنصر المخصص للأيات المخصصة
[{'ID': 6, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 6, 'line_start': 5, 'line_end': 6, 'verses_text': 'ٱهۡدِنَا ٱلصِّرَٰطَ ٱلۡمُسۡتَقِيمَ', 'verses_text_without_diacritical': 'اهدنا الصراط المستقيم', 'verses_text_english': 'Guide us to the straight path', 'verses_text_transliteration': 'Ihdina alssirata almustaqeema'}, {'ID': 7, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 7, 'line_start': 6, 'line_end': 8, 'verses_text': 'صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ وَلَا ٱلضَّآلِّينَ', 'verses_text_without_diacritical': 'صراط الذين أنعمت عليهم غير المغضوب عليهم ولا الضالين', 'verses_text_english': 'The path of those upon whom You have bestowed favor, not of those who have evoked [Your] anger or of those who are astray', 'verses_text_transliteration': 'Sirata allatheena anAAamta AAalayhim ghayri almaghdoobi AAalayhim wala alddalleena'}]
>>> len(sura[1]) # معرفة عدد الأيات التي طلبنا تحديدها
2
```

### **التغير إلى لغات أُخرى**
توفر لك مكتبة الختمة عدد جيد من اللغات الأجنبية. ولمعرفة اللغات المتوفرة في المكتبة يمكنك كتابة الأمر التالي:

> **ملاحظة**: عند إستدعاء الكائن "Quran" فهو تلقائيًا يختار ملف الذي يحتوي على اللغتين العربية والإنجليزية. فلا داعي أن تحدد إذا أردت هذان اللغتين.

```py
>>> from AL_Khatma.quran import Quran
>>> quran = Quran(lang='?')
The Available Languages Of The Quran
[0] fr
[1] es
[2] tr
[3] ru
[4] bn
[5] zh
[6] id
[7] ar, en (main)
[8] sv
[9] ur
```
ترميز/رمز اللغة | اللغة
----- | ---------------
 ar   | اللغة العربية
 en   | اللغة الإنجليزية
 fr   | اللغة الفرنسية
 es   | اللغة الإسبانية
 tr   | اللغة التركية
 ru   | اللغة الروسية
 bn   | اللغة البنغالية
 zh   | اللغة الصينية
 id   | اللغة الإندنوسية
 sv   | اللغة السويدية
 ur   | اللغة الأردية

بعد معرفتنا باللغات المتوفرة ورموزها، نقوم بتعديل أمر `Quran(lang=[ترميز/رمز اللغة])`

```py
>>> from AL_Khatma.quran import Quran
>>> quran = Quran(lang='zh') # نقوم بوضع رمز اللغة الصينية كمثال
>>> sura  = quran.show_block_aya(1, []) 
>>> sura[0][0]  # قمّت بتحديد أول أية من سورة الفاتحة
{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': '开端章', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_chinese': '奉至仁至慈的安拉之名', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}
```

### **البحث في الأيات الكريمة**
من مزايا حزمة القرآن الكريم ميزة البحث، بأستخدام أمر `Quran.searching()` 

```py
Quran.searching(
            self, 
            text:str, 
            search_second_lang=False, 
            print_report=False
            ):
        """
        searching(func): هي دالة للبحث بين السطور القرآنية
        text(str): الكلمة المراد بحثها
        search_second_lang(bool): في حال تفعيل هذه الخاصية سيتم البحث بنائا على اللغة الثانية في ملف اللغة
        print_report(bool): في حال تفعيل هذه الخاصية قوم بطباعة تقرير منظم عن نتائج البحث
        """
```

لنقوم بعملية البحث، قوم بأستدعاء الكائن "Quran" ونستدعي الدالة البحث كما هو موضح :

```py
>>> from AL_Khatma.quran import Quran
>>> quran = Quran()
>>> quran.searching('بسم الله الرحمن الرحيم')
[{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_english': 'In the name of Allah, the Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}, {'ID': 3189, 'Name': 'النَّمل', 'Transliteration': 'An-Naml', 'translation': 'The Ant', 'type': 'meccan', 'total_verses': 93, 'verses_no': 27, 'jozz': 19, 'page': 379, 'verses_number': 30, 'line_start': 9, 'line_end': 10, 'verses_text': 'إِنَّهُۥ مِن سُلَيۡمَٰنَ وَإِنَّهُۥ بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'إنه من سليمان وإنه بسم الله الرحمن الرحيم', 'verses_text_english': "Indeed, it is from Solomon, and indeed, it reads: 'In the name of Allah, the Entirely Merciful, the Especially Merciful", 'verses_text_transliteration': 'Innahu min sulaymana wainnahu bismi Allahi alrrahmani alrraheemi'}]
```

يمكنك طباعة تقرير بسيط، والتقرير يعطيك الزمن الذي قضها البرنامج ليبحث عن الكلمة أو الكلمات المدخلة مع نتائج البحث. والطريقة كما هو موضح:

```py
>>> quran.searching('بسم الله الرحمن الرحيم', print_report=True)
[REPORT]
Runing Time: 0.01329257398901973
Count Search: 2
Result Search: [
    {
        "ID": 1,
        "Name": "الفَاتِحة",
        "Transliteration": "Al-Fātiḥah",
        "translation": "The Opener",
        "type": "meccan",
        "total_verses": 7,
        "verses_no": 1,
        "jozz": 1,
        "page": 1,
        "verses_number": 1,
        "line_start": 2,
        "line_end": 2,
        "verses_text": "بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ",
        "verses_text_without_diacritical": "بسم الله الرحمن الرحيم",
        "verses_text_english": "In the name of Allah, the Entirely Merciful, the Especially Merciful",
        "verses_text_transliteration": "Bismi Allahi alrrahmani alrraheemi"
    },
    {
        "ID": 3189,
        "Name": "النَّمل",
        "Transliteration": "An-Naml",
        "translation": "The Ant",
        "type": "meccan",
        "total_verses": 93,
        "verses_no": 27,
        "jozz": 19,
        "page": 379,
        "verses_number": 30,
        "line_start": 9,
        "line_end": 10,
        "verses_text": "إِنَّهُۥ مِن سُلَيۡمَٰنَ وَإِنَّهُۥ بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ",
        "verses_text_without_diacritical": "إنه من سليمان وإنه بسم الله الرحمن الرحيم",
        "verses_text_english": "Indeed, it is from Solomon, and indeed, it reads: 'In the name of Allah, the Entirely Merciful, the Especially Merciful",
        "verses_text_transliteration": "Innahu min sulaymana wainnahu bismi Allahi alrrahmani alrraheemi"
    }
]
```
يمكنك البحث في لغات أخرى بتفعيل خيار البحث باللغات الثانية كما هو موضح:

> **ملاحظة هامة (1)**:  عندما تستخدم خاصية البحث باللغات الأخرى ربما لا يعمل بالكفاءة العالية كما في اللغة العربية والإنجليزية. ويمكن تحسين هذه المشاكل في النسخ القادمة إن وجدت مشاكل.

> **ملاحظة هامة (2)**:  في حال وجود أي خلل لا تتردد في كتابة المشكلة عبر صفحة [المشكلات الخاص للمشروع](https://github.com/oaokm/AL-Khatma/issues).

```py
>>> quran.searching('from solomon', search_second_lang=True)
[{'ID': 3189, 'Name': 'النَّمل', 'Transliteration': 'An-Naml', 'translation': 'The Ant', 'type': 'meccan', 'total_verses': 93, 'verses_no': 27, 'jozz': 19, 'page': 379, 'verses_number': 30, 'line_start': 9, 'line_end': 10, 'verses_text': 'إِنَّهُۥ مِن سُلَيۡمَٰنَ وَإِنَّهُۥ بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'إنه من سليمان وإنه بسم الله الرحمن الرحيم', 'verses_text_english': "Indeed, it is from Solomon, and indeed, it reads: 'In the name of Allah, the Entirely Merciful, the Especially Merciful", 'verses_text_transliteration': 'Innahu min sulaymana wainnahu bismi Allahi alrrahmani alrraheemi'}]
```

### **تحميل صفحات من القرآن الكريم**
من المزايا الجميلة في حزمة القرآن الكريم هو تحميل صفحات عالية الدقة، وتخزينها في القرص الصلب.

```py
> Quran.page_pic(
            self,
            page:list,
            type:str,
            path:str, 
            name_folder:str,
            return_imge=False):
        """
        page_pic(func): دالة تقوم على تحميل صفحات القرآن من الإنترنت
        page(list): تقوم بوضع عدد الأيات التي تريد تحميلها
        path(str): المسار تنزيل الصور
        name_folder(str): أسم الملف الذي ستكون فيها الصور الصفحات
        return_imge(bool): في حال تم تفعيل الخيار، سيتم تحميل الصفحات على شكل بايت (Binary)
        """
```

> **معلومة مساعدة**: خاصية `return_imge` يمكن أستخدامها في بناء البوتات، كبوت في التليجرام مثلًا. بدلًا من أن تخزم محتوى الصورة في القرص الصلب، يمكون في متغير قائمة (list).

> **ملاحظة مهمة(1)**: في حال عدم إتصالك بالإنترنت فإن هذه الميزة لن تعمل، ويرجى التحقق من إتصالك للإنترنت.

> **ملاحظة مهمة(2)**: خيار `type` هو نوع أو شكل الصفحة التي تريدها، وحاليا هنالك فقط شكلان فقط، ويمكن الاطلاع عليه [بالضغط هنا لرؤية الخيارات المتاح](https://github.com/oaokm/AL-Khatma/blob/main/DATA/quran_books.json).

طريقة كتابة الأمر كالتالي:

```py
>>> from AL_Khatma.quran import Quran
>>> quran = Quran() # استدعاء الكائن
>>> quran.page_pic([1, 2 , 48], 'm-madinah_ksu', '/home/oaokm/Pictures', 'quran') # كتابة جميع المعطيات اللازمة
# Download Pages From Quran | [/home/oaokm/Pictures/Quran] 
100%|███████████████████████████████████████| 3/3 [00:01<00:00,  1.69it/s]
```
<p align="center">
  <img src="https://raw.githubusercontent.com/oaokm/AL-Khatma/main/Pictures/Screenshot_for_page_pic.png" alt="picture_screenshot">
</p>


### **التعامل مع حزمة التفسير للقرآن الكريم**

من أهم مزايا مكتبة الختمة هي حزمة التفسير. حيث هذه الحزمة تحتوي حاليا على كتابين من أشهر كتب التفسير في الوقت الحالي، وربما في الأسابيع أو الأشهر القادمة يتم إضافة عدد من كتب التفسير.

لمعرفة الكتب الموجودة في هذه الحزمة، قم بكتابه هذا الأمر:

```py
>>> from AL_Khatma.tafser import tafser
>>> taf = tafser('?')
The Available Tafser The Quran:
[0] muyassar
[1] mukhtasar
```

جزء من محتويات كتب التفسير:
```json
// From JSON file ./DATA/Tafser/mukhtasar.json
{
        "ID": 1,
        "Tafser_type": "mukhtasar",
        "Sura": 1,
        "verses_number": 1,
        "Text": "* سورة الفاتحة مكية * مِن مَّقاصِدِ السُّورَةِ:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التَّفْسِيرُ:\nسُمِّيت سورةَ الفاتحة لافتتاح كتاب الله بها، وتسمَّى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السَّبعُ المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينًا به تعالى متبركًا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرَّحْمَن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرَّحِيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.",
        "Text_without_diacritical": "* سورة الفاتحة مكية * من مقاصد السورة:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التفسير:\nسميت سورة الفاتحة لافتتاح كتاب الله بها، وتسمى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السبع المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينا به تعالى متبركا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرحمن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرحيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.",
        "URL": "https://tafsir.app/mukhtasar/1/1"
    }
```
العنصر | تعريف
----- | ------
`ID`  |  مُعرف الخاص للأية الكريمة
`Tafser_type`  |  نوع التفسي(كتاب التفسير)
`verses_number`  |  رقم الأية الكريمة في السورة
`Text`  |  نص التفسير
`Text_without_diacritical`  |  نص التفسير بدون تشكيل
`URL`  |  مصدر التفسير



#### **معرفة تفسير سورة بالكامل**

يمكنك أن تقوم بوضع ترتيب السورة على أمر `call_block` وهو يقوم بالرد عليك بإرجاع لك قيمة العملية.
> **ملاحظة للتوضيع**: بمعنى آخر، سورة الفاتحة ترتيبها في المصحف الأول، لذا `call_block` سيقوم بإرجاع 7 عناصر. وهذه العناصر مساوية لإجمالي عدد أيات سورة الفاتحة
```py
>>> from AL_Khatma.tafser import tafser
>>> taf = tafser('mukhtasar') # تحديد نوع التفسير
>>> taf.call_block(1) # تفسير سورة الفاتحة
[{'ID': 1, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 1, 'Text': '* سورة الفاتحة مكية * مِن مَّقاصِدِ السُّورَةِ:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التَّفْسِيرُ:\nسُمِّيت سورةَ الفاتحة لافتتاح كتاب الله بها، وتسمَّى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السَّبعُ المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينًا به تعالى متبركًا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرَّحْمَن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرَّحِيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.', 'Text_without_diacritical': '* سورة الفاتحة مكية * من مقاصد السورة:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التفسير:\nسميت سورة الفاتحة لافتتاح كتاب الله بها، وتسمى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السبع المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينا به تعالى متبركا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرحمن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرحيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.', 'URL': 'https://tafsir.app/mukhtasar/1/1'}, {'ID': 2, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 2, 'Text': 'جميع أنواع المحامد من صفات الجلال والكمال هي له وحده دون من سواه، إذ هو رب كل شيء وخالقه ومدبره. و«العالمون» جمع «عالَم» وهم كل ما سوى الله تعالى.', 'Text_without_diacritical': 'جميع أنواع المحامد من صفات الجلال والكمال هي له وحده دون من سواه، إذ هو رب كل شيء وخالقه ومدبره. و«العالمون» جمع «عالم» وهم كل ما سوى الله تعالى.', 'URL': 'https://tafsir.app/mukhtasar/1/2'}, {'ID': 3, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 3, 'Text': 'ثناء على الله تعالى بعد حمده في الآية السابقة.', 'Text_without_diacritical': 'ثناء على الله تعالى بعد حمده في الآية السابقة.', 'URL': 'https://tafsir.app/mukhtasar/1/3'}, {'ID': 4, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 4, 'Text': 'تمجيد لله تعالى بأنه المالك لكل ما في يوم القيامة، حيث لا تملك نفس لنفس شيئًا. فـ«يوم الدين»: يوم الجزاء والحساب.', 'Text_without_diacritical': 'تمجيد لله تعالى بأنه المالك لكل ما في يوم القيامة، حيث لا تملك نفس لنفس شيئا. فـ«يوم الدين»: يوم الجزاء والحساب.', 'URL': 'https://tafsir.app/mukhtasar/1/4'}, {'ID': 5, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 5, 'Text': 'نخصُّك وحدك بأنواع العبادة والطاعة، فلا نشرك معك غيرك، ومنك وحدك نطلب العون في كل شؤوننا، فبِيَدِكَ الخير كله، ولا مُعين سواك.', 'Text_without_diacritical': 'نخصك وحدك بأنواع العبادة والطاعة، فلا نشرك معك غيرك، ومنك وحدك نطلب العون في كل شؤوننا، فبيدك الخير كله، ولا معين سواك.', 'URL': 'https://tafsir.app/mukhtasar/1/5'}, {'ID': 6, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 6, 'Text': 'دُلَّنا إلى الصراط المستقيم، واسلك بنا فيه، وثبِّتنا عليه.، وزدنا هدى. و«الصراط المستقيم» هو الطريق الواضح الذي لا اعوجاج فيه، وهو الإسلام الذي أرسل الله به محمدًا ﷺ.', 'Text_without_diacritical': 'دلنا إلى الصراط المستقيم، واسلك بنا فيه، وثبتنا عليه.، وزدنا هدى. و«الصراط المستقيم» هو الطريق الواضح الذي لا اعوجاج فيه، وهو الإسلام الذي أرسل الله به محمدا ﷺ.', 'URL': 'https://tafsir.app/mukhtasar/1/6'}, {'ID': 7, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 7, 'Text': 'طريق الذين أنعمت عليهم من عبادك بهدايتهم، كالنبيين والصدِّيقين والشهداء والصالحين وحَسُنَ أولئك رفيقًا، غير طريق المغضوب عليهم الذين عرفوا الحق ولم يتبعوه كاليهود، وغير طريق الضالين عن الحق الذين لم يهتدوا إليه لتفريطهم في طلب الحق والاهتداء إليه كالنصارى. * من فوائد الآيات:\n• افتتح الله تعالى كتابه بالبسملة، ليرشد عباده أن يبدؤوا أعمالهم وأقوالهم بها طلبًا لعونه وتوفيقه.\n• من هدي عباد الله الصالحين في الدعاء البدء بتمجيد الله والثناء عليه سبحانه ثم ليشرع في الطلب.\n• تحذير المسلمين من التقصير في طلب الحق كالنصارى الضالين، أو عدم العمل بالحق الذي عرفوه كاليهود المغضوب عليهم.\n• دلَّت السورة على أن كمال الإيمان يكون بإخلاص العبادة لله تعالى وطلب العون منه وحده دون سواه.', 'Text_without_diacritical': 'طريق الذين أنعمت عليهم من عبادك بهدايتهم، كالنبيين والصديقين والشهداء والصالحين وحسن أولئك رفيقا، غير طريق المغضوب عليهم الذين عرفوا الحق ولم يتبعوه كاليهود، وغير طريق الضالين عن الحق الذين لم يهتدوا إليه لتفريطهم في طلب الحق والاهتداء إليه كالنصارى. * من فوائد الآيات:\n• افتتح الله تعالى كتابه بالبسملة، ليرشد عباده أن يبدؤوا أعمالهم وأقوالهم بها طلبا لعونه وتوفيقه.\n• من هدي عباد الله الصالحين في الدعاء البدء بتمجيد الله والثناء عليه سبحانه ثم ليشرع في الطلب.\n• تحذير المسلمين من التقصير في طلب الحق كالنصارى الضالين، أو عدم العمل بالحق الذي عرفوه كاليهود المغضوب عليهم.\n• دلت السورة على أن كمال الإيمان يكون بإخلاص العبادة لله تعالى وطلب العون منه وحده دون سواه.', 'URL': 'https://tafsir.app/mukhtasar/1/7'}]
```

#### **تفسير أيات معينة في سورة معينة**

يمكن أت تحدد أيات معينة في سورة معينة، وذلك عن طريق أمر `call_block` حيث تقوم بوضع بجانب ترتيب السورة متغير القائمة، وبداخلها أرفام الأيات الكريمة. يمكنك وضع أية أو أيات. ويكتب الأمر بالطريقة التالية:
 
> **ملاحظة هامة** لا تضع رقم يتجاوز مجموع الأيات للسورة، بمعنى أن سورة الفاتحة عدد أياتها 7، إذا وضعت في القائمة رقم 8، فإن الأمر سيرجع لا شيء للقيمة التي وضعتها.

```py
>>> taf.call_block(1, [1, 2])
[{'ID': 1, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 1, 'Text': '* سورة الفاتحة مكية * مِن مَّقاصِدِ السُّورَةِ:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التَّفْسِيرُ:\nسُمِّيت سورةَ الفاتحة لافتتاح كتاب الله بها، وتسمَّى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السَّبعُ المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينًا به تعالى متبركًا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرَّحْمَن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرَّحِيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.', 'Text_without_diacritical': '* سورة الفاتحة مكية * من مقاصد السورة:\nتحقيق التوجه لله تعالى بكمال العبودية له وحده. * التفسير:\nسميت سورة الفاتحة لافتتاح كتاب الله بها، وتسمى أم القرآن لاشتمالها على موضوعاته، من توحيد لله، وعبادة، وغير ذلك، وهي أعظم سورة في القرآن، وهي السبع المثاني.\nباسم الله أبدأ قراءة القرآن، مستعينا به تعالى متبركا بذكر اسمه. وقد تضمنت البسملة ثلاثة من أسماء الله الحسنى، وهي:\n• «الله»، أي: المعبود بحق، وهو أخص أسماء الله تعالى، ولا يسمى به غيره سبحانه.\n• «الرحمن»، أي: ذو الرحمة الواسعة. فهو الرحمن بذاته.\n• «الرحيم»، أي: ذو الرحمة الواصلة. فهو يرحم برحمته من شاء من خلقه ومنهم المؤمنون من عباده.', 'URL': 'https://tafsir.app/mukhtasar/1/1'}, {'ID': 2, 'Tafser_type': 'mukhtasar', 'Sura': 1, 'verses_number': 2, 'Text': 'جميع أنواع المحامد من صفات الجلال والكمال هي له وحده دون من سواه، إذ هو رب كل شيء وخالقه ومدبره. و«العالمون» جمع «عالَم» وهم كل ما سوى الله تعالى.', 'Text_without_diacritical': 'جميع أنواع المحامد من صفات الجلال والكمال هي له وحده دون من سواه، إذ هو رب كل شيء وخالقه ومدبره. و«العالمون» جمع «عالم» وهم كل ما سوى الله تعالى.', 'URL': 'https://tafsir.app/mukhtasar/1/2'}]

```

#### **إستدعاء جميع تفاسير السور**
يمكنك أن تقوم بإستدعاء كل السور مع تفاسيرها، عن طريق كتابة الأمر التالي:
```py
>>> from AL_Khatma.tafser import tafser
>>> taf = tafser('mukhtasar') # تحديد نوع التفسير
>>> taf..all_blocks()
```


### **التعامل مع حزمة الأذكار**
حزمة الأذكار هي تمّنح لك التحكم وإستعراض الأذكار بكافة أنواعها. حيث تحتوي قاعدة بيانات الحزمة أكثر كم 130 صنف 

ولرؤية جميع الأصناف، قم بكتابة الأمر التالي:

```py
>>> from AL_Khatma.adkar import Adkar
>>> adkar = Adkar()
>>> adkar.show_me_categorys()
['أذكار الصباح', 'أذكار المساء', 'أذكار الاستيقاظ من النوم', 'دعاء لبس الثوب', 'دعاء لبس الثوب الجديد', 'ما يقول إذا وضع الثوب', 'دعاء دخول الخلاء', 'دعاء الخروج من الخلاء', 'الذكر قبل الوضوء', 'الذكر بعد الفراغ من الوضوء', 'الذكر عند الخروج من المنزل', 'الذكر عند دخول المنزل', 'دعاء الذهاب إلى المسجد', 'دعاء دخول المسجد', 'دعاء الخروج من المسجد', 'أذكار الآذان', 'دعاء الاستفتاح', 'دعاء الركوع', 'دعاء الرفع من الركوع', 'دعاء السجود', 'دعاء الجلسة بين السجدتين', 'دعاء سجود التلاوة', 'التشهد', 'الصلاة على النبي بعد التشهد', 'الدعاء بعد التشهد الأخير قبل السلام', 'الأذكار بعد السلام من الصلاة', 'دعاء صلاة الاستخارة', 'أذكار النوم', 'الدعاء إذا تقلب في الليل', 'دعاء الفزع في النوم و من بلي بالوحشة', 'ما يفعل من رأى الرؤيا أو الحلم في النوم', 'دعاء قنوت الوتر', 'الذكر عقب السلام من الوتر', 'دعاء الهم والحزن', 'دعاء الكرب', 'دعاء لقاء العدو و ذي السلطان', 'الدعاء على العدو', 'ما يقول من خاف قوما', 'دعاء من أصابه وسوسة في الإيمان', 'دعاء قضاء الدين', 'دعاء الوسوسة في الصلاة و القراءة', 'دعاء من استصعب عليه أمر', 'ما يقول ويفعل من أذنب ذنبا', 'دعاء طرد الشيطان و وساوسه', 'الدعاء حينما يقع ما لا يرضاه أو غلب على أمره', 'ﺗﻬنئة المولود له وجوابه', 'ما يعوذ به الأولاد', 'الدعاء للمريض في عيادته', 'فضل عيادة المريض', 'دعاء المريض الذي يئس من حياته', 'تلقين المحتضر', 'دعاء من أصيب بمصيبة', 'الدعاء عند إغماض الميت', 'الدعاء للميت في الصلاة عليه', 'الدعاء للفرط في الصلاة عليه', 'دعاء التعزية', 'الدعاء عند إدخال الميت القبر', 'الدعاء بعد دفن الميت', 'دعاء زيارة القبور', 'دعاء الريح', 'دعاء الرعد', 'من أدعية الاستسقاء', 'الدعاء إذا نزل المطر', 'الذكر بعد نزول المطر', 'من أدعية الاستصحاء', 'دعاء رؤية الهلال', 'الدعاء عند إفطار الصائم', 'الدعاء قبل الطعام', 'الدعاء عند الفراغ من الطعام', 'دعاء الضيف لصاحب الطعام', 'التعريض بالدعاء لطلب الطعام أو الشراب', 'الدعاء إذا أفطر عند أهل بيت', 'دعاء الصائم إذا حضر الطعام ولم يفطر', 'ما يقول الصائم إذا سابه أحد', 'الدعاء عند رؤية باكورة الثمر', 'دعاء العطاس', 'ما يقال للكافر إذا عطس فحمد الله', 'الدعاء للمتزوج', 'دعاء المتزوج و شراء الدابة', 'الدعاء قبل إتيان الزوجة', 'دعاء الغضب', 'دعاء من رأى مبتلى', 'ما يقال في اﻟﻤﺠلس', 'كفارة اﻟﻤﺠلس', 'الدعاء لمن قال غفر الله لك', 'الدعاء لمن صنع إليك معروفا', 'ما يعصم الله به من الدجال', 'الدعاء لمن قال إني أحبك في الله', 'الدعاء لمن عرض عليك ماله', 'الدعاء لمن أقرض عند القضاء', 'دعاء الخوف من الشرك', 'الدعاء لمن قال بارك الله فيك', 'دعاء كراهية الطيرة', 'دعاء الركوب', 'دعاء السفر', 'دعاء دخول القرية أو البلدة', 'دعاء دخول السوق', 'الدعاء إذا تعس المركوب', 'دعاء المسافر للمقيم', 'التكبير و التسبيح في سير السفر', 'دعاء المسافر إذا أسحر', 'الدعاء إذا نزل مترلا في سفر أو غيره', 'ذكر الرجوع من السفر', 'ما يقول من أتاه أمر يسره أو يكرهه', 'فضل الصلاة على النبي صلى الله عليه و سلم', 'إفشاء السلام', 'كيف يرد السلام على الكافر إذا سلم', 'الدعاء عند سماع صياح الديك ونهيق الحمار', 'دعاء نباح الكلب بالليل', 'الدعاء لمن سببته', 'ما يقول المسلم إذا مدح المسلم', 'ما يقول المسلم إذا زكي', 'كيف يلبي المحرم في الحج أو العمرة ؟', 'التكبير إذا أتى الركن الأسود', 'الدعاء بين الركن اليماني والحجر الأسود', 'دعاء الوقوف على الصفا والمروة', 'الدعاء يوم عرفة', 'الذكر عند المشعر الحرام', 'التكبير عند رمي الجمار مع كل حصاة', 'دعاء التعجب والأمر السار', 'ما يفعل من أتاه أمر يسره', 'ما يقول من أحس وجعا في جسده', 'دعاء من خشي أن يصيب شيئا بعينه', 'ما يقال عند الفزع', 'ما يقول عند الذبح أو النحر', 'ما يقول لرد كيد مردة الشياطين', 'الاستغفار و التوبة', 'التسبيح، التحميد، التهليل، التكبير', 'كيف كان النبي يسبح؟', 'من أنواع الخير والآداب الجامعة', 'الرُّقية الشرعية من القرآن الكريم', 'الرُّقية الشرعية من السنة النبوية']
```

ولرؤية تفاصيل الفئة تقوم بإستخدام `call_block` كما هو موضع:

```py
>>> adkar.call_block('أذكار الصباح')
```

### **تفسيم صفحات القرآن**
في حزمة تختيم القرآن الكريم، طريقة لتقسيم الصفحات بهدف تختيم القرآن، وتوزيع التقسيم على الصفحات.

```py
def Khatma_page(self, 
                report=False, 
                werrd=False, 
                pdf=False, 
                down_path_pdf=str()
                ):
        """
        Khatma_page(func): هي دالة تقوم بتقسيم صفحات القرآن الكريم بهدف إنهاء قراءتها
        report(bool): في حال تفعيل الخيار يتم طباعة تقرير عن النتائج التي تم تحليلها من هذه الدالة
        werrd(bool): في حال تفعيل الخيار تتم عملية تقسيم القرآن بناءًا على عدد الأيام الذي أدخلها المستخدم. في حال عدم تفعيل هذا الخيار يقوم البرنامج بإعادة قيمة عدد الصفحات اليومية الازمة لإنهاء قراءة القرآن كاملة
        pdf(bool): في حال تفعيل هذا الخيار، سيتم تطبيق التقسيم وإنشاء ملفات بي دي أف للقرأن
        dwon_path_pdf(str): مسار تنزيل ملفات البي دي أف
        """
```

```py
>>> from AL_Khatma.khatma import khatma # أستدعاء الحزمة
>>> k = khatma(30) # استدعاء الكائن"khatma" وتحديد عدد الأيام اللازمة لحتم القرآن. فـ(30) يمثل عدد أيام
>>> k.Khatma_page(report=True) # أمر تقسيم الصفحات مع طباعة التقرير
[REPORT KHATMA]
Days: 30
Reading Rate: 20 (Page/Day)    # معدل القراءة اليومي لختم القرآن بناءا على عدد الأيام المدخلة
Weerd: [22, 22, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
[22, 22, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
```

يمكن كتابة أمر لـ(`khatma.Khatma_page`) بتقسيم وتطبيق التوزيع مباشرُا على المصحف وإرجاع قيمة كبيرة. مضمون هذه القيم الكبيرة هي الأيات اللازم قراءتها في اليوم الواحد. طريقة كتابتها كالتالي:

```py
>>> werrd = k.Khatma_page(werrd=True, report=True)
The process of dividing the Quranic verses begins ... 
100%|█████████████████████████████████████████████| 30/30 [00:00<00:00, 2016.04it/s]
[REPORT KHATMA]
Days: 30
Reading Rate: 20 (Page/Day)
Weerd: [22, 22, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
Number of Werrd: 30
```

#### **تصدير الختمة إلى ملف PDF**
> *هذه الحزمة تعمل على إصدار رقم: 2.0.0*

يمكنك تصدير الختمة إلى ملف pdf، والأمر سهل، ويجب عليك أن تتبع هذه الخطوات

* **الخطوة الأولى**: تحميل صفحات القرآن لحزمة البي دي أف:
كل ما عليك هو كتابة هذا الأمر، الذي هو بدوره سيقوم بتحميل صفحات القرآن عالية الدقة إلى جهازك
```py
>>> from AL_Khatma.pdf_page import quran_pdf
>>> pdf = quran_pdf()
>>> pdf.download_pages()
```
* **الخطوة الثانية**: تقسيم القرآن ومع تصديرها إلى ملف بي دي أف(PDF):
كل ما عليك كتابة هذا الأمر، الذي هو  بدوره سيقوم بتصدير ملف. لكل ملف له يومه الخاص:

```py
>>> from AL_Khatma.khatma import khatma # يتم إستدعاء المكتبة
>>> k = khatma(30) 
>>> k.Khatma_page(pdf=True, down_path_pdf='./weerds', report=True) # يتم تفعيل خيار `pdf` ووضع المسار الذي سيتم تصدير الملف إليه عن طريق تفعيل خاصية `down_path_pdf` ووضع المسار فيه
# 1 of 30	From 1 -> 22 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_1_to_22.pdf]
100%|████████████████████| 22/22 [00:04<00:00,  4.81it/s]
# 2 of 30	From 23 -> 44 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_23_to_44.pdf]
100%|████████████████████| 22/22 [00:03<00:00,  5.52it/s]
# 3 of 30	From 45 -> 64 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_45_to_64.pdf]
100%|████████████████████| 20/20 [00:03<00:00,  6.09it/s]
# 4 of 30	From 65 -> 84 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_65_to_84.pdf]
100%|████████████████████| 20/20 [00:03<00:00,  5.68it/s]
# 5 of 30	From 85 -> 104 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_85_to_104.pdf]
100%|████████████████████| 20/20 [00:03<00:00,  6.00it/s]
...
# 28 of 30	From 545 -> 564 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_545_to_564.pdf]
100%|████████████████████| 20/20 [00:03<00:00,  5.63it/s]
# 29 of 30	From 565 -> 584 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_565_to_584.pdf]
100%|████████████████████| 20/20 [00:03<00:00,  5.52it/s]
# 30 of 30	From 585 -> 604 Page
# Creating PDF file ... [/home/oaokm/weerds/Quran_from_585_to_604.pdf]
100%||████████████████████| 20/20 [00:03<00:00,  5.75it/s]

[REPORT KHATMA - PDF]
Runing Time: 123.4863281300004
Days: 30
Reading Rate: 20 (Page/Day)
Weerd: [22, 22, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
Number of Werrd: 30
Path: /home/oaokm/weerds
```

### **التعامل مع حزمة البي دي أف للقرآن الكريم**
> *تعمل فقط في تحديث `2.0.0` وفما فوق*

واحدة من أفضل مميزات مكتبة الختمة حزمة البي دي أف(PDF)

هنالك طريقتين للتصدير، ولكن قبل ذلك يجب عليك أن تحمّل صور القرآن الكريم عالية الدقة قبل إتحاذ إي حطوة للتعامل مع الحزمة.
طريقة التحميل كالتالي:


```py
>>> from AL_Khatma.pdf_page import quran_pdf
>>> pdf = quran_pdf()
>>> pdf.download_pages()
```

* **الطريقة الأولى**: تصدير السورة:

```py
>>> from AL_Khatma.pdf_page import quran_pdf
>>> from AL_Khatma.quran import Quran
>>> quran = Quran()
>>> sura_one = quran.show_block_aya(1, [])[0]
>>> pdf = quran_pdf(sura_one)
>>> pdf.creating('./quran_pdf')
# Creating PDF file ... [/home/oaokm/quran_pdf/Quran_from_1_to_1.pdf]
100%|██████████████████████| 1/1 [00:00<00:00,  4.72it/s]

```

* **الطريقة الثانية** إستخدام أرقام الصفحات:

```py
>>> from AL_Khatma.pdf_page import quran_pdf
>>> pdf = quran_pdf()
>>> pdf.creating('./quran_pdf', From=1, to= 10)
# Creating PDF file ... [/home/oaokm/quran_pdf/Quran_from_1_to_10.pdf]
100%|█████████████████████| 10/10 [00:01<00:00,  5.69it/s]
```

يمكنك إستبدال عنوان الصفحة الأولى، وذلك عن طريق إضافة خاصية `cover_title=<any text>`:

```py
>>> pdf.creating('./quran_pdf', From=1, to= 10, cover_title='al salam alaikum')
# Creating PDF file ... [/home/oaokm/quran_pdf/Quran_from_1_to_10.pdf]
100%|█████████████████████|10/10 [00:01<00:00,  5.86it/s]
```
<p align="center">
  <img src="https://github.com/oaokm/AL-Khatma/blob/main/Pictures/Screenshot_for_a_file_pdf.png?raw=true" alt="picture_screenshot">
</p>

يمكنك تصدير صفحات القرآن الكريم إلى بي دي أف بدون الصفحة الأولى(الغطاء أو الكَافِّر)، بتفعيل خاصية `cover=False`:
```py
>>> from AL_Khatma.pdf_page import quran_pdf
>>> pdf = quran_pdf()
>>> pdf.creating('./quran_pdf', From=1, to= 10, cover=False)
# Creating PDF file ... [/home/oaokm/quran_pdf/Quran_from_1_to_10.pdf]
100%|█████████████████████| 10/10 [00:01<00:00,  5.69it/s]
```

## **المصادر** 

لمبدأ الشفافية وللحساسية الدينية التي تقدمها المكتبة، سأذكر المصادر التي -والله الحمد- تم بناء هذه المكتبة. المصادر كالتالي:
* [أية -  API مفتوح المصدر للأذكار والقرآن والأحاديث](https://github.com/nawafalqari/ayah)
* [الأيات القرأنية باللغات الأخرى](https://github.com/risan/quran-json)
* مصادر تحميل صفحات القرآن الكريم:
  * [الموقع الرسمي لأيات لجامعة الملك سعود](https://quran.ksu.edu.sa/ayat/)
  * [موقع الباحث القرآني](https://tafsir.app/)
* [مصدر الإعتماد على كتب حزمة التفسير موقع الباحث القرآني](https://tafsir.app/)
* مصادر الإعتماد على حزمة الأذكار:
  * [azkar_list Muhammed-Ayad | github](https://github.com/Muhammed-Ayad/Balgho-Convey/blob/dev/lib/data/local/json/azkar_list.dart)
  * [azkar-db - osamayy | github](https://github.com/osamayy/azkar-db)
  * [hisn_almuslim - Alsarmad | github](https://github.com/Alsarmad/hisn_almuslim_json)



## **الترخيص**
ترخيص هو: إم آي تي ([MIT © Osamah Awadh](https://github.com/oaokm/AL-Khatma/blob/main/LICENSE))