
    -i                         d Z ddlmZ ddlmZ ddlmZ ddlmZ	 ddl
mZ ddlmZ  ej                     	 	 	 ddZej        fdZdS )	zC
The main function to call qutrub conjugation from other programs.
    NTFHTMLc                 <   t          j        |           }|rt          j        |          }t	          j        | |	|          }|                    |
           |r|                                }ng }|r|                    t          j
                   |r!|r|                    t          j                   |r|                    t          j                   |r!|r|                    t          j                   |r>|                    t          j                   |                    t          j                   |rB|r|                    t          j                   |r|                    t          j                   |r#|	r!|r|                    t          j                   |r@|r>|                    t          j                   |                    t          j                   |r|                    t          j                   |                    |          }|S dS )u  
    The main function to conjugate verbs.
    You must specify all parameters.
    Can be used as an example to call the conjugation class.
    @param word: the givern verb. the given word must be vocalized, 
    if it's 3 letters length only, else, the verb can be unvocalized, 
     but the Shadda must be given, it' considered as letter.
    @type word: unicode.
    @param future_type: For Triliteral verbs, 
    you must give the mark of Ain in the future, 
    كة عين الفعل في المضارع. it's given as a name of haraka (فتحة، ضمة، كسرة).
    @type future_type: unicode(فتحة، ضمة، كسرة).
    @param all: conjugate in all arabic tenses.
    @type all: Boolean, default(True)
    @param past: conjugate in past tense ألماضي
    @type past: Boolean, default(False)
    @param future: conjugate in arabic present and future tenses المضارع
    @type future: Boolean, default(False)
    @param passive: conjugate in passive voice  المبني للمجهول
    @type passive: Boolean, default(False)
    @param imperative: conjugate in imperative tense الأمر
    @type imperative: Boolean, default(False)
    @param future_moode: conjugate in future moode tenses المضارع المنصوب والمجزوم
    @type future_moode: Boolean, default(False)
    @param confirmed: conjugate in confirmed cases tense المؤكّد
    @type confirmed: Boolean, default(False)
    @param transitive: the verb transitivity التعدي واللزوم
    @type transitive: Boolean, default(False)
    @param display_format: Choose the display format:
        - 'Text':
        - 'HTML':
        - 'HTMLColoredDiacritics':
        - 'DICT':
        - 'CSV':
        - 'GUI':
        - 'TABLE':
        - 'XML':
        - 'TeX':
        - 'ROWS':
    @type display_format: string, default("HTML") 
    @return: The conjugation result
    @rtype: According to display_format.
    N)
verb_validis_valid_infinitive_verbar_verbget_future_type_by_name	classverb	VerbClassset_displayconjugate_all_tensesappendvconst	TensePastTensePassivePastTenseFutureTensePassiveFutureTenseSubjunctiveFutureTenseJussiveFutureTenseConfirmedFutureTenseConfirmedImperativeTensePassiveConfirmedFutureTensePassiveSubjunctiveFutureTensePassiveJussiveFutureTenseImperative)wordfuture_typealltensepastfuturepassive
imperativefuture_moode	confirmed
transitivedisplay_formatvalidvbcresultlistetensess                  T/var/www/html/speakWrite/venv/lib/python3.11/site-packages/libqutrub/mosaref_main.pydo_sarfr+   !   s)   \ /55E $5kBB !$
K@@''' 	<..00FFK 5""6#3444 < <""6#:;;; 7""6#5666 >7 >""6#<=== >""6#@AAA""6#<=== H D&&v'BCCC H&&v'FGGG G: G) G""6#EFFF EL E""6#GHHH""6#CDDD ;""6#9:::..{;;F    c                     | }d}|}|t           j        t           j        t           j        fvrt	          j        |          }t          j        |||          }|                    t          j
        t          j                  S )u  
    Get The future form of a verb. for example the future form of
     qal with Damma as a Haraka of future verb, we get yqolu.
    الحصول على صيغة الفعل في المضارع، فالفعل قال، وحركة عينه في المضارع صمة، نحصل على يقول.
    @param verb_vocalised: given verb.
    @type verb_vocalised:unicode.
    @param haraka: the future mark for triverbs.
    @type haraka: unicode.
    @return: The conjugated form in the future tense.
    @rtype: unicode.
    T)arabyFATHADAMMAKASRAr   r   r	   r
   conjugate_tense_pronounr   r   PronounHuwa)verb_vocalisedharakar   r$   r   r'   s         r*   get_future_formr6   v   sk     DJK5;U[AAA5kBB

dJ
<
<C&&v'96;MNNNr,   )	TFFFFFFFr   )__doc__libqutrub.classverbr	   libqutrub.ar_verbr   libqutrub.verb_validr   libqutrub.verb_const
verb_constr   pyarabic.arabyr.   libqutrub.verb_dbverb_dbcreate_index_triverbtabler+   r/   r6    r,   r*   <module>rB      s   (  ) ( ( ( ( ( $ $ $ $ $ $ * * * * * * & & & & & &       $ $ $ $ $ $ ! ! # # # HMGL&,S S S Sj .3[ O O O O O Or,   