a
    mi?                     @   s   d dl mZmZmZ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mZ d dlmZmZ d dlmZmZ ejdd	d
gdedd Zededd Zededd Zededd ZdS )    )render_templateredirecturl_forflashrequestjsonify)login_requiredcurrent_user)db)bp)Dataset	DataPoint)AnalysisTypeAnalysisRun)get_eligible_analysescompute_subset_statsz"/datasets/<int:dataset_id>/analyzeGETPOST)methodsc                 C   s  t j| }|jtjkr.tdd ttdS t	j
dp<d }t	j
d}t	j
d}t|j|||}t|}t	jdkrzt	jd}|std	d td
|||dS g }|D ]V}	tjj|	d }
|
sqttj|j|
j||||
jpi dd}tj| || qtj  ddlm} |D ]}||j}|j|_qtj  t |dkrhttd|d j!dS ttd|jdS td
|||dS )NAccess denied.errordatasets.list_datasetsanimals
time_starttime_endr   ZanalyseszSelect at least one analysis.zselect.html)dataseteligiblesubset_stats)slugqueued)user_id
dataset_idanalysis_type_id
animal_idsr   r   paramsstatusr   )run_analysis   zanalysis.status)run_uuidzanalysis.runs_listr!   )"r   query
get_or_404r    r	   idr   r   r   r   argsgetlistgetr   r   methodformr   r   	filter_byfirstr   default_paramsr
   sessionaddappendcommitZapp.tasks.analysis_tasksr&   delaycelery_task_idlenuuid)r!   r   r#   r   r   r   r   Zselected_slugsrunsr   Zatyperunr&   task r@   W/home/japhy/trackingScienceReplication.artiswrong.com/app/blueprints/analysis/routes.pyselect
   sZ    




rB   z/analysis/<run_uuid>c                 C   s@   t jj| d }|jtjkr4tdd tt	dS t
d|dS )Nr<   r   r   indexzstatus.htmlr>   r   r*   r2   first_or_404r    r	   r,   r   r   r   r   r(   r>   r@   r@   rA   r%   C   s
    
r%   z/analysis/<run_uuid>/resultsc                 C   s@   t jj| d }|jtjkr4tdd tt	dS t
d|dS )NrC   r   r   rD   zresults.htmlrE   rF   rH   r@   r@   rA   resultsM   s
    
rI   z/datasets/<int:dataset_id>/runsc                 C   s\   t j| }|jtjkr.tdd ttdS t	jj
|jdt	j  }td||dS )Nr   r   r   r)   zruns_list.html)r   r=   )r   r*   r+   r    r	   r,   r   r   r   r   r2   order_by
created_atdescallr   )r!   r   r=   r@   r@   rA   	runs_listW   s    
rN   N)flaskr   r   r   r   r   r   flask_loginr   r	   app.extensionsr
   app.blueprints.analysisr   app.models.datasetr   r   app.models.analysisr   r   Zapp.analyses.eligibilityr   r   routerB   r%   rI   rN   r@   r@   r@   rA   <module>   s$    7