Arrand: random Arabic text generator
====================================

مكتبة توليد النص العربي عشوائيا
===============================

Arrand: random Arabic text generator

.. figure:: doc/arrand_header.png
   :alt: arrand logo

   arrand logo

.. figure:: https://img.shields.io/pypi/dm/arrand
   :alt: PyPI - Downloads

   PyPI - Downloads

Developpers: Taha Zerrouki: http://tahadz.com taha dot zerrouki at gmail
dot com

+-------------+------------------------------------------------------------------------------+
| Features    | value                                                                        |
+=============+==============================================================================+
| Authors     | `Authors.md <https://github.com/linuxscout/arrand/master/AUTHORS.md>`__      |
+-------------+------------------------------------------------------------------------------+
| Release     | 0.1                                                                          |
+-------------+------------------------------------------------------------------------------+
| License     | `GPL <https://github.com/linuxscout/arrand/master/LICENSE>`__                |
+-------------+------------------------------------------------------------------------------+
| Tracker     | `linuxscout/arrand/Issues <https://github.com/linuxscout/arrand/issues>`__   |
+-------------+------------------------------------------------------------------------------+
| Source      | `Github <http://github.com/linuxscout/arrand>`__                             |
+-------------+------------------------------------------------------------------------------+
| Feedbacks   | `Comments <https://github.com/linuxscout/arrand/>`__                         |
+-------------+------------------------------------------------------------------------------+
| Accounts    | [@Twitter](https://twitter.com/linuxscout))                                  |
+-------------+------------------------------------------------------------------------------+

Description
-----------

Arrand: random Arabic text generator

مزايا:
~~~~~~

-  توليد نص

   -  نص بلا معنى
   -  جملة مفيدة

-  عبارات خاصة

   -  نص بلا معنى
   -  آية
   -  حديث
   -  أمثال
   -  بيت شعري

-  خيارات

   -  تشكيل دون تشكيل
   -  طول معين
   -  عدد أسطر
   -  عدد فقرات
   -  مجال معين
   -  عدد كلمات معين

-  بناء مولد عشوائي للجمل دون معنى من ملف

Usage
~~~~~

install
~~~~~~~

.. code:: shell

    pip install arrand

[requirement]
^^^^^^^^^^^^^

::

    pyarabic>=0.6.8

import
^^^^^^

.. code:: python

    >>> import arrand.arrandom

Examples
--------

Detailed examples and features in `Features <doc/features.md>`__

-  Random text

   .. code:: python

       ... arrand.arrandom.select()
       'هم القوم إن قالوا أصابوا وإن دعوا ... أجابوا وإن أعطوا أطابوا وأجزلوا'

-  Select Hadith

   .. code:: python

       ... arrand.arrandom.hadith()
       'قلت : أرأيت إن تيمم رجل فيمم وجهه في موضع ويمم يديه في موضع آخر ؟ قال : إن تباعد ذلك فليبتدئ التيمم وإن لم يتطاول ذلك وإنما ضرب لوجهه في موضع ثم قام إلى موضع آخر قريب من ذلك فضرب ليديه أيضا وأتم تيممه فإنه يجزئه .'

-  Select Aya

   .. code:: python

       ... arrand.arrandom.aya()
       '6|56|قل إني نهيت أن أعبد الذين تدعون من دون الله قل لا أتبع أهواءكم قد ضللت إذا وما أنا من المهتدين'

-  Select Proverb

   .. code:: python

       ... arrand.arrandom.proverb()
       'غيري يأكل الدجاج وأنا أقع في السياج'

-  Select phrase

   .. code:: python

       ... arrand.arrandom.phrase()
       'قال وكيع عن الأعمش عن خيثمة ، قال : حدثني من سمع عمر بن الخطاب يقول : لا تجزئ صلاة لم يقرأ فيها بفاتحة الكتاب وبشيء معها .'

-  Select poem

   .. code:: python

       ... arrand.arrandom.poem()
       '9 وقريض سلا به كل راو # عن حبيب وشاب رأس الوليد'
       >>> 

-  Sample many

   .. code:: python

       ... arrand.arrandom.sample(category = "text", max_length=2, vocalized=False)
       ['لا تعبدن صنماً في فاقة نزلت ... وازفن بلا حرج للقرد في زمنه', 'فأجابني محمد بن عبد الله بن عبد كان فقال:']
       >>> arrand.arrandom.sample(category = "hadith", max_length=2, vocalized=False)
       ['في حديث عبد الله بن عمرو بن العاص .(1/231)', 'قال : وكان مالك يقول زمانا في رجل ترك القراءة في ركعة في الفريضة : إنه يلغي تلك الركعة بسجدتيها ولا يعتد بها ثم كان آخر قوله أن قال : يسجد لسهوه إذا ترك القراءة في ركعة وأرجو أن تكون مجزئة عنه وما هو عندي بالبين ، قال : وإن قرأ في ركعتين وترك في ركعتين أعاد الصلاة أيضا .(1/136)']
       >>> arrand.arrandom.sample(category = "poem", max_length=2, vocalized=False)
       ['1 من كل سافرة اللثام كأنها # بدر الدجا ونطاقها الجوزاء', '0 فقلت والمقصود قد بان لي # كفي ولا لحم ولا عظم']

-  vocalized

   .. code:: python

       >>> arrand.arrandom.sample(category = "text", max_length=2, vocalized=True)
       ['الأَرْبِعَاءُ 5/2/2014  : /', 'وَتُعْتَبَرُ سَاعَاتُ وُجُودِ الْمُجْتَمَعِ السُّعُودِيِّ عَلَى الْإِنْتَرْنِتِّ ، وَخُصُوصًا الشَّبَابِ الَّتِي تَصِلُ إلَى 20 سَاعَةٍ أُسْبُوعِيًّا وَ13 سَاعَةٍ لِلْفَتَيَاتِ ، عَامِلًا مُحَفِّزًا لِلشَّرِكَاتِ فِي اسْتِهْدَافِهِمْ مِنَ النَّاحِيَةِ التَّسْوِيقِيَّةِ لِلْمُنْتَجَاتِ أوِ الْخَدَمَاتِ عَلَى الْإِنْتَرْنِتِّ.']
       >>> arrand.arrandom.sample(category = "hadith", max_length=2, vocalized=True)
       ['قَالَ : وَقَالَ مَالِكٌ : بَلَغَنِي أَنَّ عُمَرَ بْنَ الْخَطَّابِ وَعَبْدَ اللَّهِ بْنَ عُمَرَ كَانَا يَفْعَلَانِ ذَلِكَ .', 'قُلْتُ : فَهَلْ يُجْزِئُ عِنْدَ مَالِكٍ بَاطِنُ الْخُفِّ مِنْ ظَاهِرِهِ أَوْ ظَاهِرُهُ مِنْ بَاطِنِهِ ؟ قَالَ : لَا وَلَكِنْ لَوْ مَسَحَ رَجُلٌ ظَاهِرَهُ ثُمَّ صَلَّى لَمْ أَرَ عَلَيْهِ الْإِعَادَةَ إلَّا فِي الْوَقْتِ لِأَنَّ عُرْوَةَ بْنَ الزُّبَيْرِ كَانَ يَمْسَحُ ظُهُورَهُمَا وَلَا يَمْسَحُ بُطُونَهُمَا ، أَخْبَرَنَا بِذَلِكَ مَالِكٌ وَأَمَّا فِي الْوَقْتِ فَأَحَبُّ إلَيَّ أَنْ يُعِيدَ مَا دَامَ فِي الْوَقْتِ .']
       >>> arrand.arrandom.sample(category = "poem", max_length=2, vocalized=True)
       ['8 يبلى وبنيان حزني غير منتفض # وأدمعا من جفوني قد جرت علقا', '11 ونعمَ المصطفى من معشر مّا # نجومُ النيراتِ لهمْ كفاء']

.. code:: python

    >>> arrand.arrandom.hadith(vocalized=True)
    'قَالَ : وَسُئِلَ مَالِكٌ عَنْ الصِّبْيَانِ يُؤْتَى بِهِمْ إلَى الْمَسَاجِدِ ؟ فَقَالَ : إنْ كَانَ لَا يَعْبَثُ لِصِغَرِهِ وَيَكُفُّ إذَا نُهِيَ فَلَا أَرَى بِهَذَا بَأْسًا ، قَالَ : وَإِنْ كَانَ يَعْبَثُ لِصِغَرِهِ فَلَا أَرَى أَنْ يُؤْتَى بِهِ إلَى الْمَسْجِدِ .'
    >>> arrand.arrandom.aya(vocalized=True)
    '4|133|إِن يَشَأْ يُذْهِبْكُمْ أَيُّهَا النَّاسُ وَيَأْتِ بِآخَرِينَ وَكَانَ اللَّهُ عَلَى ذَلِكَ قَدِيرًا'
    >>> arrand.arrandom.proverb(vocalized=True)
    'الظلم مرتعه وخيم'
    >>> arrand.arrandom.phrase(vocalized=True)
    'قَالَ : وَقَالَ مَالِكٌ : إنْ وَلَغَ الْكَلْبُ فِي إنَاءٍ فِيهِ لَبَنٌ فَلَا بَأْسَ بِأَنْ يُؤْكَلَ ذَلِكَ اللَّبَنُ .'
    >>> arrand.arrandom.poem(vocalized=True)
    '13 وأخضر مثل سنا العيش النضر # يطوي الفلا وكيف لا وهو الخضر'
    >>> 

Non sense texts
---------------

.. code:: python

    ... arrand.arrandom.rand_sentences(3)
    ['اطرحوه في فروع الأشجار؛ وسمعت خفق أوتار العيدان، وترجيع أصوات القيان، فما نفق عنده جلب إليه.', 'يبوخ وإنما يهيج عزة ومنعة، وشياطين خدعة زروع الحمية من هو شر لكم، وأبدلني بكم بدلا، ولكنها النقلة إلى المحسن البريء، فخاف المريب صولة العقاب، كما ترغبون في وجه الكريم على حمار معه حتى تقبل قولي، فقال لهم: لا يأمنان أن تزكي نفسك، وهديت فيه الحجاج، فلما قدم معاوية وخلى بينه وبينه.', 'راعى ضأن والله؟ وهل تجب الزكاة على وجه المهدي بدوام البحث، وطول تجربته في خيره.']

-  Select non sense text \`\`\`python ...
   arrand.arrandom.rand\_sentence() 'يدفنه، فقاتلوا في سربال ليل ...'

``### Generate non sense texts from a file``\ python >>> import
arrand.builder >>> mygen = arrand.builder.generator("text.txt") >>>
mygen.rand\_sentences(2) ['قبل ذلك تهاون المحسن، واجترأ المسيء، وفسد
الأمر، وشاركهما في رؤوسهم، يستعدون بها ووبخهم.', 'الجلوس لناننصفك منه من
رسله، ويعمل، فيهم كما تحبون الحياة، ويرغبون في وقيعة ...']

\`\`\`
