
    =]                         d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	m
Z
mZmZ  e j        d          ZddgZd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"dS )    N)func)SpaVerbEngVerbPronoun	ExceptionTranslationEndingTensePersonz([\w\s]+) \(.*Present	Preteritec                     t           j                            | |j        |j                                                  }|r|j        S dS )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      sJ    !!7fi+08 	" 	5 	55:UWW  }5    c                 f    t           j                            |                                           S )Nname)r
   r   r   r   )	tensenames    r   tensename2tenser"      s'    ;  i 0066888r   c                    t          |          }t          |           }t          |||          }|r|S t          j                            |j        |j        |j                                                  }|r|j	         |j
         S dS )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 gnux)/ 	 	4 	449EGG  ,----vr   c                 |   |                                 }t          j        dd|          }t          |           }t          j                            |j                                                  }|D ]H}|j	        j
        }t                              |          }|r|                    d          }||k    r dS IdS )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>   &       KKMMEF63&&E$$G''GJ'??CCEEE  J!MM! 	

AA::44  5r   c                 |   |                                 }t          j        dd|          }t          |           }t          j                            |j                                                  }|D ]H}|j	        j
        }t                              |          }|r|                    d          }||k    r dS IdS )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                    t          |          }|                                }t          j        dd|          }t          j                            |                                          }|j        }t          | ||          }||k    S )Nr-   r.   pronoun)
r"   r1   r2   r3   r   r   r   r   r   r+   )r(   r!   rH   r:   r   pronr   conjs           r   matchconjugationrK   D   su    I&&EKKMMEF63&&E=""7"3399;;D[FZF33D5=r   c                 h    t          |           }d                    d |j        D                       S )N; c                 &    g | ]}|j         j        S  )r5   r6   .0r<   s     r   
<listcomp>z!spa_trans_str.<locals>.<listcomp>R       FFFqz,FFFr   )r%   jointranslations)r(   vs     r   spa_trans_strrW   P   2    :A99FFanFFFGGGr   c                 f    t           j                            |                                           S Nr6   )r   r   r   r   r[   s    r   r%   r%   T   '    =""j"99??AAAr   c                 $    t          |           d uS N)r%   r[   s    r   
chkspaverbr_   W       j!!--r   c                 f    t           j                            |                                           S rZ   )r   r   r   r   r[   s    r   rB   rB   Z   r\   r   c                 $    t          |           d uS r^   )rB   r[   s    r   
chkengverbrc   ]   r`   r   c                 h    t          |           }d                    d |j        D                       S )NrM   c                 &    g | ]}|j         j        S rO   )r   r6   rP   s     r   rR   z!eng_trans_str.<locals>.<listcomp>b   rS   r   )rB   rT   rU   )rC   rV   s     r   eng_trans_strrf   `   rX   r   c                      t           j                            t          j                                                              j        S r^   )r   r   order_byr   randomr   r6   rO   r   r   
randomverbrj   d   -    =!!$+--006688CCr   c                      t           j                            t          j                                                              j        S r^   )r   r   rh   r   ri   r   r6   rO   r   r   eng_randomverbrm   g   rk   r   c                     t           j                            t          j                                                              } t          j                            t          j                                                              }t          j                            d                                          }t          |||           S )Nr   r   )
r   r   rh   r   ri   r   r   r
   r   r+   )r   rV   r<   s      r   randomverbconjro   j   s    dkmm,,2244At{}}--3355A 	9--3355AQ1r   c                      t           j                            t          j                                                              } t	          j        d | j        D                       S )Nc                     g | ]	}|j         
S rO   rG   )rQ   rI   s     r   rR   z!randompronoun.<locals>.<listcomp>u   s    @@@D4<@@@r   )r   r   rh   r   ri   r   choicepronouns)r   s    r   randompronounrt   s   sJ    dkmm,,2244A=@@AJ@@@AAAr   c                 t    t           j                            |                                           }|j        S )NrG   )r   r   r   r   r   )rH   rI   s     r   pronoun2personrv   w   s.    =""7"3399;;D;r   c                      t           j                            t          j                                                              } | j        S r^   )r
   r   rh   r   ri   r   r    )r<   s    r   randomtenserx   {   s0    T[]]++1133A6Mr   c                     | dk     s| dk    rt          |  d          t          j                            t	          j                                                  |           }d |D             S )Nr0      z is not between 1 and 5c                 d    g | ]-}t          j        t          |j                            j        .S rO   )ri   rr   listrs   rH   )rQ   r   s     r   rR   z"randompronouns.<locals>.<listcomp>   s/    GGGV]4
++,,4GGGr   )
ValueErrorr   r   rh   r   ri   limit)numpersonss     r   randompronounsr      sg    
Qww#''C888999l##DKMM2288==GGGgGGGGr   )#r2   ri   sqlalchemy.sqlr   appl.modelsr   r   r   r   r   r	   r
   r   compiler7   
TenseNamesr   r"   r+   r>   rE   rK   rW   r%   r_   rB   rc   rf   rj   rm   ro   rt   rv   rx   r   rO   r   r   <module>r      s                . . . . . . . . . . . . . . . . . . . . "*&
'
'+(
  9 9 9      
 
 
H H HB B B. . .B B B. . .H H HD D DD D D  B B B    H H H H Hr   