
    -i3                         d dl Z d dlZd dlZd dlmZ d dlmZ d dl	Z	d dl
Z
d Zd Zd Zd Zd Zedk    r$d dlZ ej         eej                             dS dS )	    N)areprc                    t           j        }t           j        }t           j        }t	          j                    }g }t          j        |||          D ]}|d         }|d         }|d         }	d                    ||	g          t           j	        v rCt	          j
        ||	|          r|                    | |||	          }
|                    |
           |S )generate all possible affixesr         -)SNCCOMP_PREFIX_LISTCONJ_SUFFIX_LISTCOMP_SUFFIX_LIST	stem_nounmuwaled	itertoolsproductjoinCOMP_NOUN_AFFIXEScheck_clitic_affixvocalizeappend)word
procleticssuffixes	enclitics	vocalizer
noun_formselementprocsuffencnewwords              P/var/www/html/speakWrite/venv/lib/python3.11/site-packages/qalsadi/genAffixes.pygenerate_noun_formsr"   !   s     %J #H$I!##IJ$Z9EE 	' 	'qzqzaj88T3K  C$999+D#t<< D#,,T4sCCg&&&    c                 
   t           j        }t           j        }t           j        }t           j        }t          j                    }g }t          j        ||||          D ]}|d         }|d         }	|d         }
|d         }d	                    |	|
g          t           j
        v r`t          j        |||	dz   |
z             rDd	                    |	| |
g          }|                    |||          }|                    |           |S )r   r   r   r      r    )SVCr
   CONJ_PREFIX_LISTr   r   	stem_verbr   r   r   r   VERBAL_CONJUGATION_AFFIXr   r   r   )r   r   prefixesr   r   r   
verb_formsr   r   prefr   r   	conj_verbr    s                 r!   generate_verb_formsr/   ;   s    %J#H#H$I!##IJ$Z8YOO + +qzqzqzaj88T4L!!S%AAA+D#tczD7HII +GGT4$677	#,,YcBB!!'***r#   c                      dt                    } d | D             }t          t          |                    }fd|D             }|S )generate all affixes   قصدc                 B    g | ]}t          j        |d                    S r   arabystrip_tashkeel.0ds     r!   
<listcomp>z,generate_noun_affix_list.<locals>.<listcomp>]   '    CCC1E(1..CCCr#   c                 <    g | ]}|                     d           S r   replacer9   xr   s     r!   r;   z,generate_noun_affix_list.<locals>.<listcomp>a   '    ???QAIIdC((???r#   )r"   listset)r   list_affixesr   s     @r!   generate_noun_affix_listrG   W   \    D$T**JCC
CCCLL))**L????,???Lr#   c                      dt                    } d | D             }t          t          |                    }fd|D             }|S )r1   r2   c                 B    g | ]}t          j        |d                    S r4   r5   r8   s     r!   r;   z,generate_verb_affix_list.<locals>.<listcomp>l   r<   r#   c                 <    g | ]}|                     d           S r>   r?   rA   s     r!   r;   z,generate_verb_affix_list.<locals>.<listcomp>p   rC   r#   )r/   rD   rE   )r,   rF   r   s     @r!   generate_verb_affix_listrL   f   rH   r#   c                 ~   d}t          |          }d}t          |          }t          d           t                      }t          t	          |                              dd                     t          d           t                      }t          t	          |                              dd                     dS )Nu   قَصْدٌr2   zNOUN_AFFIX_LIST=,z,
zVERB_AFFIX_LIST=r   )r"   r/   printrG   r   r@   rL   )argsr   r   r,   noun_affixesverb_affixess         r!   mainrS   u   s    D$T**J D$T**J 

+--L	%


%
%c5
1
1222	
+--L	%


%
%c5
1
12221r#   __main__)r   stem_noun_constr	   stem_verb_constr'   pyarabic.arabreprr   pyarabic.arabyr6   r   r)   r"   r/   rG   rL   rS   __name__sysexitargv r#   r!   <module>r^      s   0             # # # # # #                4  8      & zJJJCHTT#(^^ r#   