o
    ’hÀg•  ã                   @   sÞ   d dl Z d dlmZ d dlmZmZmZ d dlmZ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 d d
lmZ ddlmZmZmZ 	 dd„ Z	 dd„ Z	 dd„ Z	 dd„ Z	 dd„ Z	 dd„ Z	 dd„ ZdS )é    N)Úsettings)ÚrenderÚredirectÚget_object_or_404)ÚHttpResponseÚHttpResponseRedirect)ÚAuthenticationForm)ÚUserCreationForm)Úlogin)ÚMin)ÚF)ÚCounté   )ÚEggImageÚEggTagÚ	EggTaggerc                 C   ó   i }t | d|ƒS )Nz
index.html©r   ©ÚrequestÚcontext© r   ú*/var/www/eggtrainer/eggTrainerApp/views.pyÚindex   s   r   c           	      C   s¢   t t| jjd�}tjj|d�jddd�}tjj	|d�}|j
tdƒd�d	 }|j|d
�}| d¡ ¡ }|s:t| di ƒS |j tjd¡}|||j|jdœ}t| d|ƒS )N)Úname)ÚtaggerÚimage_idT©Úflat©Úid__inÚnum_tags)Ú	min_valuer"   )r!   ú?zsuccess.htmlz/images/)Údisplay_urlr   r   Ú	tagger_idztag.html)r   r   ÚuserÚusernamer   ÚobjectsÚfilterÚvalues_listr   ÚexcludeÚ	aggregater   Úorder_byÚfirstr   Ú
image_pathÚreplacer   Ú	IMAGE_DIRÚid)	r   r   Útagged_image_idsÚuntagged_imagesÚmin_tagsÚimages_min_taggedÚrandom_imager$   r   r   r   r   Útag#   s   ür8   c           
      C   s–   | j d }| j d }| j d }| j d }| j d }| j d }|s"d }tt|d�}tt|d�}t||||||d�}	|	 ¡  td	ƒd
 |_| ¡  tdƒS )Nr   r%   ÚstageÚnotag_reasonÚ
confidenceÚ	alt_stage)Úpk)Úimager   r9   r:   r;   r<   r!   r   r8   )	ÚPOSTr   r   r   r   Úsaver   r!   r   )
r   r   r%   r9   r:   r;   r<   r>   r   Únew_tagr   r   r   Úadd_tagN   s,   





úrB   c              	   C   s  t j ¡ }tj ¡ }tjjddd�}t jj|d� ¡ }t|| d ƒ}t jjdd� ¡ }t|| d ƒ}tjjdd	�jddd�}t jj|d� ¡ }	t|	| d ƒ}
tjjd
dd�}tt |¡dƒ}t	j ¡ }tj 
d¡jtdƒd� d¡d d… }|||||
|||dœ}t| d|ƒS )Nr   Tr   r   éd   r   )Únum_tags__gtr   )r9   r;   Útagger__name)Úcountz-counté
   )Úimage_countÚ	tag_countÚ	pc_taggedÚpc_verifiedÚpc_unusableÚmean_confidenceÚ	num_usersÚ	top_namesz
stats.html)r   r(   rF   r   r*   r)   ÚroundÚ
statisticsÚmeanr   ÚvaluesÚannotater   r-   r   )r   rH   rI   r3   Útagged_imagesrJ   Úverified_imagesrK   Úunusable_image_idsÚunusable_imagesrL   Útagged_image_confidencerM   rN   rO   r   r   r   r   Ústatsw   s0   


&ø
rZ   c                 C   r   )Nzustats.htmlr   r   r   r   r   Úustats¨   s   r[   c                 C   sR   | j dkrt| | jd�}| ¡ r| ¡ }t| |ƒ tdƒS ntƒ }t| dd|iƒS )Nr?   )Údatar   z
login.htmlÚform)Úmethodr   r?   Úis_validÚget_userr
   r   r   )r   r]   r&   r   r   r   Ú
login_view·   s   

ýra   c                 C   sn   | j dkr,t| jƒ}| ¡ r+|j d¡}| jd }t||d�}| ¡  | ¡  tdƒS ntƒ }t	| dd|iƒS )Nr?   r'   Ú
experience)r   rb   ra   zregister.htmlr]   )
r^   r	   r?   r_   Úcleaned_dataÚgetr   r@   r   r   )r   r]   r'   ÚexpÚ
new_taggerr   r   r   Úregister_viewÌ   s   


þòrg   )rQ   Údjango.confr   Údjango.shortcutsr   r   r   Údjango.httpr   r   Údjango.contrib.auth.formsr   r	   Údjango.contrib.authr
   Údjango.db.modelsr   r   r   Úmodelsr   r   r   r   r8   rB   rZ   r[   ra   rg   r   r   r   r   Ú<module>   s2    $$,