
    =]$                     8   d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl	m
Z
mZ d dlmZmZ  ej        d          d             Z ej        d          d	             Z ej        d
          d             Z ej        d          d             Z ej        ddg          d             Zd Z ej        d          d             Z ej        ddg          d             Zd ZddZ ej        d          Zd Z ej        dddg          d             ZdS )     N)render_templateredirectrequestsession)verb)ConjugationFormQuizForm)appGitRevz/holac                      dS )NzHola, amigo! r       !/var/www/html/conj/appl/routes.pyholar      s    >r   z
/showverbsc                      g } t          d          D ](}|                     t          j                               )t	          dd                    |           dt                    S )N
   zsimple.htmlz<br>
zTen random verbs)bodytitlerevision)rangeappendr   randomverbconjr   joinr   )showis     r   	showverbsr      sh    D2YY + +D'))****= (d 3 3!3$*, , , ,r   /c                  0    t          ddt                    S )Nz	menu.htmlAmigo)namer   r   r   r   r   r   mainmenur"      s!    ; '$*, , , ,r   z/verbpracticec                      t           j        d         } dt          | d}| dk    r't          j                    |d<   d|d<   t          d
i |S t          j                    |d<   d	|d<   t          d
i |S )Nmoder   )r    r   r$   esp2ingr   zPractice Spanish verbsr   verbpractice.htmlzPractice English verbs)r&   )r   argsr   r   
randomverbr   eng_randomverb)r$   rdicts     r   verbpracticer+       s    <D  E y))f1g<<e<<<+--f1g<<e<<<r   z/verbpractice/<verbinf>POST)methodsc                 "   t           j        d         }|dk    rt          |           S t          j        |           st          d           dt          || d}t           j        d         dk    r+t          j        |           |d<   d	|  |d
<   t          di |S t          j	        | t           j        d                   r+t          j        |           |d<   d|  |d
<   t          di |S t           j        d         |d<   d|  |d
<   t          di |S )Nr$   eng2spar   r   r    r   r$   r   nextShow metransShow verb: r   vp/show.htmltranslationu   ¡Correcto! — verb: vp/correct.htmlanswer   No correcto — verb: vp/incorrect.htmlr5   r7   r:   )
r   form
vp_eng_infr   
chkspaverbr   r   spa_trans_strr   matchtranslationverbinfr$   r*   s      r   vp_infrE   3   s5   <Dy'"""?7##  	 E |Fy((+G44g0w00g77777		w](C	D	D =+G44g;';;g::E:::!,}5h;';;g<<e<<<r   c                    t           j        d         }t          j        |           st	          d           dt
          || d}t           j        d         dk    r+t          j        |           |d<   d|  |d	<   t          di |S t          j        | t           j        d                   r+t          j        |           |d<   d|  |d	<   t          di |S t           j        d         |d<   d|  |d	<   t          di |S )Nr$   r   r   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   )	r   r>   r   
chkengverbr   r   eng_trans_strr   matchengtranslationrC   s      r   r?   r?   Q   s   <D?7##  	 E |Fy((+G44g0w00g77777		!'7<+F	G	G =+G44g0w00g::E:::!,}5h;';;g<<e<<<r   /conjpracticec                  6    t          dddddt                    S )Nconjpractice.htmlr    zPractice verb conjugation)r    r   r3   r   r   r!   r   r   r   conjpracticerN   k   s+    . ' "!#!=$*, , , ,r   z/conjpractice/<verbinf>c                 V   t          j        |           st          d           t                      }|                                st          d           dt
          | t          j        |           |d}|j        j        r~|j	        j        |d<   |j
        j        |d<   d|j
        j         d|  |d	<   t          j        | |j
        j        t          j        |j	        j                            |d
<   t          di |S |j	        j        sGt          j                    }t          j                    }||d<   ||d<   d| d|  |d	<   t          di |S |j        j        rtt          j        | |j
        j        |j	        j        |j        j                  r?|j	        j        |d<   |j
        j        |d<   d|j
        j         d|  |d	<   t          di |S |j	        j        |d<   |j
        j        |d<   d|j
        j         d|  |d	<   |j        j        |d<   d|j        _        t          di |S )Nr   rJ   r   )r    r   r   r3   r>   pronountensezShow verb conjugation (z	 tense): r   conjugationcp/show.htmlzPractice verb conjugation (rL   cp/correct.htmlr8   rM   cp/incorrect.html)rS   )rL   )rT   )rU   )r   r@   r   r   validate_on_submitr   rA   showmedatarP   rQ   	conjugatepronoun2personr   randompronounrandomtenser8   matchconjugation)rD   r>   r*   rP   rQ   s        r   cp_infr^   t   sa   ?7## D""$$ "!!! $W-- E { =<,igM$*/MMGMM 	g#~gtz#'#6t|7H#I#I K  Km77777\ =$&& """igPuPPwPPg<<e<<<		 =d3GTZ_'+|'8$+:JL L =<,igM$*/MMGMM 	g::E:::<,igM$*/MMGMM 	g+*h<<e<<<r   c                  f   t          j                    } d|  dd| dg}d}t           j        D ]}t          j        |          }t	          |          D ]]}i }|sd|  d| d|d	<   d
|d<   | |d<   ||d<   |                                }| d|  d| d|d<   ||d<   |                    |           ^|S )NzTranslate to Englishz in English:	trans2eng)headerquestiontyper      z
Conjugate z in z tensera   conjrc   r   rQ   z (z):rb   rP   )r   r(   
TenseNamesrandompronounsr   popr   )randverbqnumconjtnpronounsr   drP   s           r   new_quizro      s     H 2 (666$!	 	
A Go  &w//w 
	 
	AA DC8CCCCC(AfI AfIAgJllnnG&>>(>>>>>AjM"AiLHHQKKKK
	 Hr   Fc           	         d}| D ]J}|                     d          r|r|                    d          }0d |d<   |d         dk    rm|rt          j        |d                   |d<   a|                    d          }|s|dz  }~t          j        |d         |          r||d<   |dz  }d	| d
|d<   |r>t          j        |d         |d         t          j        |d                             |d<   |                    d          }|s|dz  }t          j        |d         |d         |d         |          r||d<   <|dz  }d	| d
|d<   L|dk    S )Nr   correcterrmsgrc   r`   r   r8      zNo, "z" is incorrectrQ   rP   )getrh   r   rA   rB   rY   rZ   r]   )quizanswersr   numwrongrj   r8   s         r   
grade_quizrx      s   H !A !A55 	 ( Q(V9## A"06;;( Q MH(6F;; A#)AiLLMH"@&"@"@"@AhKK A"nQvY'
#'#6q|#D#DF F( !Q MH(6AgJ)FLN N A#)AiLLMH"@&"@"@"@AhKKq=r   z
\w*-(\d+)$c                     | D ]M}t                               |j                  }|r*t          |                    d                    |k    r|c S Nd S )Nrs   )	FormIntREmatchr    intgroup)formanswersindexfams       r   formansr      sU      OOBG$$ 	QWWQZZE))III4r   z/quizGETc                     t          d          } dt          | d}t          j        dk    rt	                      xt
          d<   }t          t          |                    D ];}| j        	                                  | j        |         d          ||         d	<   <||d<   t          di |S t
          d         }|                                 st          d           | j        j        rlt          |d d           t!          |          D ]4\  }}t#          | j        |          }|rddi|_         |d          |d	<   5||d<   d|d<   t          di |S d t          t          |                    D             }| j        D ]]}t&                              |j                  }|r+|j        |t-          |                    d                    <   Nt1          d           ^t          ||          }	t!          |          D ]I\  }}|                    d          r/t#          | j        |          }|rddi|_         |d          |d	<   J|t
          d<   ||d<   |	|d<   t          di |S )N   )max_questionsr   )r    r   r>   r   ru   off)autocomplete	formentry	quiz.htmlr   T)r   disabledfinishedc                     g | ]}d S )Nr   ).0r   s     r   
<listcomp>zquiz.<locals>.<listcomp>  s    666qd666r   rs   zwtf? -- formanswersrq   )r   )r	   r   r   methodro   r   r   lenrv   append_entryr   rV   r   rW   rX   rx   	enumerater   	render_kwrz   r{   r    r|   r}   printrt   )
r>   r*   ru   r   nrj   r   myformanswersr   r   s
             r   ru   ru      s   "%%%D  E ~!)+$s4yy!! 	G 	GAL%%'''#24<?#F#F#FDGK  f44e444 6?D""$$ { 	54D))))dOO 	8 	8DAqq))B 8!+d4!#!7!7!7+f j44e444 76E#d))$4$4666Ml ) )OOBG$$ 	)-/WM#aggajj//**'(((($..H$ 8 8155 	8q))B 8!+d4!#!7!7!7+GFOE&M E*00%000r   )F)osreflaskr   r   r   r   applr   
appl.formsr   r	   r
   r   router   r   r"   r+   rE   r?   rN   r^   ro   rx   compilerz   r   ru   r   r   r   <module>r      s3    = = = = = = = = = = = =       0 0 0 0 0 0 0 0        
7   <, , , 3, , ,
 ?= = =$ $j999= = :9=:= = =4 ?, , , $j999-= -= :9-=^  8% % % %N BJ}%%	   7eV,---41 41 .-41 41 41r   