
    =]                         S SK r S SKrS SKJr  S SKJrJrJrJrJ	r	J
r
JrJr  \ R                  " S5      rSS/rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"g)    N)func)SpaVerbEngVerbPronoun	ExceptionTranslationEndingTensePersonz([\w\s]+) \(.*Present	Preteritec                     [         R                  R                  XR                  UR                  S9R	                  5       nU(       a  UR
                  $ g)N)spa_verb	person_idtense_idF)r   query	filter_byidfirstconjugation)spaverbtensepersonps       /var/www/html/conj/appl/verb.pyspecialr      sB    !!7ii+088 	" 	55:UW }}    c                 X    [         R                  R                  U S9R                  5       $ )Nname)r
   r   r   r   )	tensenames    r   tensename2tenser"      s#    ;;  i 06688r   c                 2   [        U5      n[        U 5      n[        XCU5      nU(       a  U$ [        R                  R                  UR                  UR                  UR                  S9R                  5       nU(       a  UR                   UR                   3$ g)N)endingr   r   zwtf?)r"   
getspaverbr   r	   r   r   r$   r   r   stem	newending)
spaverbinfr!   r   r   r   ses          r   	conjugater+      s}    I&E$G'Agnnuxx)/ 	 	449EG ,,}--r   c                 z   UR                  5       n[        R                  " SSU5      n[        U 5      n[        R
                  R                  UR                  S9R                  5       nU HM  nUR                  R                  n[        R                  U5      nU(       a  UR                  S5      nX:X  d  MM    g   g)N\s+ )spa_verb_id   TF)stripresubr%   r   r   r   r   alleng_verb
infinitiveTransREmatchgroup)r(   transr   tlatstms         r   matchtranslationr>   &       KKMEFF63&E$G''GJJ'?CCEEJJ!!MM!
A:  r   c                 z   UR                  5       n[        R                  " SSU5      n[        U 5      n[        R
                  R                  UR                  S9R                  5       nU HM  nUR                  R                  n[        R                  U5      nU(       a  UR                  S5      nX:X  d  MM    g   g)Nr-   r.   )eng_verb_idr0   TF)r1   r2   r3   
getengverbr   r   r   r   r4   r   r6   r7   r8   r9   )
engverbinfr:   engverbr;   r<   r=   s         r   matchengtranslationrE   5   r?   r   c                     [        U5      nUR                  5       n[        R                  " SSU5      n[        R
                  R                  US9R                  5       nUR                  n[        XU5      nXs:H  $ )Nr-   r.   pronoun)
r"   r1   r2   r3   r   r   r   r   r   r+   )r(   r!   rH   r:   r   pronr   conjs           r   matchconjugationrK   D   sf    I&EKKMEFF63&E==""7"399;D[[FZF3D=r   c                     [        U 5      nSR                  UR                   Vs/ s H  o"R                  R                  PM     sn5      $ s  snf Nz; )r%   jointranslationsr5   r6   )r(   vr<   s      r   spa_trans_strrQ   P   9    :A99annFnzz,,nFGGF   Ac                 X    [         R                  R                  U S9R                  5       $ Nr6   )r   r   r   r   rV   s    r   r%   r%   T   #    ==""j"9??AAr   c                     [        U 5      S L$ N)r%   rV   s    r   
chkspaverbrZ   W       j!--r   c                 X    [         R                  R                  U S9R                  5       $ rU   )r   r   r   r   rV   s    r   rB   rB   Z   rW   r   c                     [        U 5      S L$ rY   )rB   rV   s    r   
chkengverbr^   ]   r[   r   c                     [        U 5      nSR                  UR                   Vs/ s H  o"R                  R                  PM     sn5      $ s  snf rM   )rB   rN   rO   r   r6   )rC   rP   r<   s      r   eng_trans_strr`   `   rR   rS   c                      [         R                  R                  [        R                  " 5       5      R                  5       R                  $ rY   )r   r   order_byr   randomr   r6    r   r   
randomverbre   d   ,    ==!!$++-0668CCCr   c                      [         R                  R                  [        R                  " 5       5      R                  5       R                  $ rY   )r   r   rb   r   rc   r   r6   rd   r   r   eng_randomverbrh   g   rf   r   c                  p   [         R                  R                  [        R                  " 5       5      R                  5       n [        R                  R                  [        R                  " 5       5      R                  5       n[        R                  R                  SS9R                  5       n[        XU 5      $ )Nr   r   )
r   r   rb   r   rc   r   r   r
   r   r+   )r   rP   r<   s      r   randomverbconjrj   j   sw    dkkm,224At{{}-335A 	9-335AQ1r   c                      [         R                  R                  [        R                  " 5       5      R                  5       n [        R                  " U R                   Vs/ s H  oR                  PM     sn5      $ s  snf rY   )	r   r   rb   r   rc   r   choicepronounsrH   )r   rI   s     r   randompronounrn   s   sL    dkkm,224A==AJJ@JD<<J@AA@s   A;c                 p    [         R                  R                  U S9R                  5       nUR                  $ )NrG   )r   r   r   r   r   )rH   rI   s     r   pronoun2personrp   w   s,    ==""7"399;D;;r   c                      [         R                  R                  [        R                  " 5       5      R                  5       n U R                  $ rY   )r
   r   rb   r   rc   r   r    )r<   s    r   randomtenserr   {   s.    T[[]+113A66Mr   c                 J   U S:  d  U S:  a  [        U  S35      e[        R                  R                  [        R
                  " 5       5      R                  U 5      nU Vs/ s H6  n[
        R                  " [        UR                  5      5      R                  PM8     sn$ s  snf )Nr0      z is not between 1 and 5)
ValueErrorr   r   rb   r   rc   limitrl   listrm   rH   )numpersonsr   s      r   randompronounsrz      sw    
Qw#'C5 7899ll##DKKM288=G>EGgV]]4

+,44gGGGs    =B )#r2   rc   sqlalchemy.sqlr   appl.modelsr   r   r   r   r   r	   r
   r   compiler7   
TenseNamesr   r"   r+   r>   rE   rK   rQ   r%   rZ   rB   r^   r`   re   rh   rj   rn   rp   rr   rz   rd   r   r   <module>r      s     . . . **&
'+(
9
HB.B.HDDBHr   