U
    Bod=                     @   s~   d dl Z d dlZd dlZd dlZd dl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 e
jddeddd
dZdS )    N)Task)MaxRetriesExceededError)app)find_static_folder_pathseconds_to_hhmmsscombine_json_filesFT)ignore_resultbindbase   c                 C   sf  zt  }| d|d  dtj d }tj| dsPt| d tj|sft| tj }t	
|d }t|t	j}|t	j}	t||	 }
d}| rB| \}}|sȐqB|| dkr8t||	 }| dtt dd  d	}t	|| d
| d| d| d| d	}t| |d7 }qt||||d}t|d}t|}W 5 Q R X d|d  d|d  dttj |  d  d}t| |d |d |d |d |d |d}d|dW S  tk
r` } z`t| z| jdd W nB t k
rN } z"t| dd d W Y 
 W Y S d }~X Y nX W 5 d }~X Y nX d S )!N/titlez%Y_%m_%d_%H_%M_%Sz/tmpsourcer   z/tmp/-z.pngzBpython /var/www/html/BCA_API/app/tasks/detect_labels_deamon.py -i z -f z -d "z" -s z > output.log &r   )total_framesintervalsave_xmlru4    ⛏️  : Processing Image/Video Complete - Input: z [durationz] -  Time taken: i  z ms 
confidence
categories)r   r   r   r   r   objectsSUCCESS)statusresult   )	countdownZFAILzmax retried achieved)!r   datetimenowstrftimeospathexistsmkdirmakedirscv2ZVideoCaptureintgetZCAP_PROP_FRAME_COUNTZCAP_PROP_FPSr   ZisOpenedreadstruuiduuid4splitZimwritesystemr   openjsonloadtotal_secondsprint	Exceptionretryr   )selfdatar   r   Zstatic_pathZfolder_name
start_timeZvideor   Z
frame_rater   countersuccessframeZframe_durationtmp_filenamecommandZjson_file_pathZ	json_filemessageresultsex r@   &/var/www/html/BCA_API/app/tasks/bca.pyanalyse   sb    $


"

6rB   )r   F)r    r%   r*   r/   r   celeryr   celery.exceptionsr   Zapp.tasks.workerr   	app.utilsr   r   r   taskrB   r@   r@   r@   rA   <module>   s   