
    Pi)              
          d dl mZ d dlmZmZ d dlmZ d dlT dede	de	de	d	e	f
d
Z
dede	de	de	d	e	f
dZdede	de	de	de	f
dZdede	de	de	de	f
dZdede	de	fdZdede	de	fdZdede	de	fdZdedede	de	fdZdefdZdede	fdZd ZdS )    )chain)SPANNER_TELEGRAM_APITELEGRAM_API)RedisDatabase)*admin_user_idusername	file_namefile_idsubtitlec                    ddl m} ddlm} t	                      }d}t	                      }	t                      }
t	                      }t          t          ||          \  }}|dk    rt          ||          }t          t           |           }dt          | |d ||d|d	}t          |                    ||          |                    |||	||
||                    }|                                 d S )	Nr   convert_to_softsubupload_video_and_submit_requestSoftSub.mkvTN/A)	statusapi_urluser_idr	   admin_reviewserver_file_namer   
sync_scoreduration)"celery_tasks.tasks.softsub_handlerr   celery_tasks.tasks.uploaderr   intstrdownload_videor   convert_to_mkvget_video_duration_secondsDOWNLOAD_DIRr   sapply_async)r   r	   r
   r   r   r   r   
request_idrequest_type_strtitle_id
title_name
title_typer   file_formatsecfake_resultworkflows                    2/var/www/html/auto_sub_bot/base/utils/workflows.pyisolate_softsub_workflowr0      s'   EEEEEEKKKKKKJ uuHJJ$23GPY$Z$Z!kf@PR]1^1^.
$%H6F%H%H
I
IC ' ,
 
K [33'))*6FR\^hjsu|}} H     c                    ddl m} ddlm} t	                      }d}t	                      }	t                      }
t	                      }t          t          ||          \  }}|dk    rt          ||          }t          t           |           }t          |          }dt          | |d ||d||d
}t          |                    ||          |                    |||	||
||                    }|                                 d S )	Nr   convert_to_hardsubr   HardSubr   Tr   )
r   r   r   r	   r   r   r   r   r   
random_sec)"celery_tasks.tasks.hardsub_handlerr4   r   r   r   r   r    r   r!   r"   r#   get_random_secondr   r$   r%   )r   r	   r
   r   r   r4   r   r&   r'   r(   r)   r*   r   r+   r,   r6   r-   r.   s                     r/   isolate_hardsub_workflowr9   &   s7   EEEEEEKKKKKKJ uuHJJ$23GPY$Z$Z!kf@PR]1^1^.
$%H6F%H%H
I
IC"3''J ' ,  K [33'))*6FR\^hjsu|}} H r1   	audio_urlc                    ddl m} ddlm} t	                      }d}t	                      }	t                      }
t	                      }t          t          ||          \  }}|dk    rt          ||          }t          t           |           }dt          | |d ||d|d	}t          |                    ||          |                    |||	||
||                    }|                                 d S )	Nr   )convert_to_dubbedr   Dubbedr   Tr   )	r   r   r   r	   r   r   r:   r   r   )!celery_tasks.tasks.dubbed_handlerr<   r   r   r   r   r    r   r!   r"   r#   r   r$   r%   )r   r	   r
   r   r:   r<   r   r&   r'   r(   r)   r*   r   r+   r,   r-   r.   s                    r/   isolate_dubbed_workflowr?   H   s'   CCCCCCKKKKKKJuuHJJ$23GPY$Z$Z!kf@PR]1^1^.
$%H6F%H%H
I
IC ' ,
 
K K	22'))*6FR\^hjsu|}} H r1   requested_qualityc                    ddl m} ddlm} t          | |d}t          |                    ||t                      ||t                      t                                |                                          }|                                 d S )Nr   "preparing_file_and_convert_qualityupload_document)r   r   r	   )	"celery_tasks.tasks.quality_handlerrC   r   rE   r   r   r$   r   r%   )	r   r	   r
   r   r@   rC   rE   sending_detailsr.   s	            r/   isolate_quality_workflowrH   h   s    UUUUUU;;;;;; (  O *,,_>OQTQVQVXacjlolqlqsvsxsxyy H r1   r&   c                    ddl m} ddlm} ddlm} t                      5 }|                    d|             d d d            n# 1 swxY w Y   t          |           \  }}}	}
}}}t          |
                    || |||||          |
                    |          |
                    | ||
||||                    }|                                 d S )Nr   find_and_synchronize_subtitler   r   request:active:)'celery_tasks.tasks.subtitle_sync_enginerK   r   r   r   r   r   incrget_all_request_infor   r$   r%   )r&   r
   r   rK   r   r   rr   r'   _r(   imdb_idr)   r*   r.   s                  r/   softsub_workflowrS   x   *   UUUUUUEEEEEEKKKKKK	EAqvv&D
&D&DEEEEEEEEEEEEEEEEEEThisTtTtQM#Q':z%''zCSU\^hjsu|}}Y'''))*6FR\^hjsu|}} H
    AA
A
c                    ddl m} ddlm} ddlm} t                      5 }|                    d|             d d d            n# 1 swxY w Y   t          |           \  }}}	}
}}}t          |
                    || |||||          |
                    |          |
                    | ||
||||                    }|                                 d S )Nr   rJ   r3   r   rL   )rM   rK   r7   r4   r   r   r   rN   rO   r   r$   r%   )r&   r
   r   rK   r4   r   rP   r   r'   rQ   r(   rR   r)   r*   r.   s                  r/   hardsub_workflowrW      rT   rU   c                 p   ddl m} ddlm} t	                      5 }|                    d|             d d d            n# 1 swxY w Y   t          |           \  }}}}	}
}}t          |                    || |||          |                    | ||	||||                    }|	                                 d S )Nr   )convert_softsub_to_hardsubr   rL   )
r7   rY   r   r   r   rN   rO   r   r$   r%   )r&   r
   r   rY   r   rP   r   r'   rQ   r(   rR   r)   r*   r.   s                 r/   softsub_to_hardsub_workflowrZ      s   MMMMMMKKKKKK	EAqvv&D
&D&DEEEEEEEEEEEEEEEEEEThisTtTtQM#Q':z"$$]J@PRY[dee'))*6FR\^hjsu|}} H s   A  AAmovieo_file_idc                    ddl m} ddlm} ddl m} t                      5 }|                    d|             d d d            n# 1 swxY w Y   t          |           \  }}	}
}}}}t          |		                    d                    dk    r|		                    d          d         }n|		                    d          d         }t          d	d
}t          |                    ||                                |||||          |                                |                    || |	|
|||                    }|                                 d S )Nr   rB   rD   )$decrement_counter_and_submit_requestrL   +    l)r   r   )rF   rC   r   rE   r]   r   rN   rO   lensplitr   r   r$   stripr%   )r&   r[   r
   r   rC   rE   r]   rP   r   r'   requested_seasonr(   rR   r)   r*   r@   rG   r.   s                     r/   quality_workflowre      s   UUUUUU;;;;;;WWWWWW	EAqvv&D
&D&DEEEEEEEEEEEEEEEEEEcw  yC  dD  dD`M#%5x*V`
!!#&&''1,,,22377:,22377:  ! O
 *,,_>O>U>U>W>WYgirt{  ~F  HR  	S  	S,..}jJZ\ln  BL  NX  	Y  	Y H
 rU   c                    ddl m} ddlm} ddlm} ddlm} ddlm} t          |           \  }}}}	}
}}|dk    rd}t          |                    d	                    d
k    r|                    d	          d         }n|                    d          d         }t          |                    |
|||                                          |                    |	||| ||                                          |                                |                                |                    || |||                                ||                              d                    }|                                 d S )Nr   
find_title) route_quality_conversion_requestdownload_from_urlrD   )"resolve_quality_conversion_request   d   r^   r_   r`      )	countdown)*celery_tasks.tasks.find_title_from_sourcesrh   rF   ri   !celery_tasks.tasks.url_downloaderrk   r   rE   rl   rO   ra   rb   r   r$   rc   setr%   )r&   rh   ri   rk   rE   rl   r   r'   rd   r(   rR   r)   r*   r@   r.   s                  r/   !get_quality_from_sources_workflowrt      s   EEEEEESSSSSSCCCCCC;;;;;;UUUUUUcw  yC  dD  dD`M#%5x*V`Q
!!#&&''1,,,22377:,22377:Wj*:<M<S<S<U<UVV(**8ZZYik|  lC  lC  lE  lE  	F  	F*,,]JHXZjl}  mD  mD  mF  mF  HR  T^  	_  	_  	c  	c  no  	c  	p  	p H r1   r)   c                    ddl m} ddlm} ddlm} ddlm} ddlm} t          |           \  }}}	}	}
}	}	t          |                    |
|dd          |                    |
          |                                |                                |                    || |
|                    }|                                 d S )	Nr   rg   )add_title_to_databaserj   rD   )submit_title_requestrn   all)rq   rh   (celery_tasks.tasks.title_request_handlerrv   rr   rk   r   rE   rw   rO   r   r$   r%   )r&   r)   rh   rv   rk   rE   rw   r   r'   rQ   rR   r.   s               r/   get_title_from_sources_workflowrz      s    EEEEEENNNNNNCCCCCC;;;;;;MMMMMM;OPZ;[;[8M#Q7AqWj#u55((}j':NN H r1   c                     ddl m} ddlm} t	          |                    |           |                                          }|                                 d S )Nr   rj   rD   )rr   rk   r   rE   r   r$   r%   )update_infork   rE   r.   s       r/   title_updater_workflowr}      so    CCCCCC;;;;;;K(( H r1   N)celeryr   baser   r   
base.utilsr   base.utils.funcsr   r   r0   r9   r?   rH   rS   rW   rZ   re   rt   rz   r}    r1   r/   <module>r      s6         3 3 3 3 3 3 3 3 $ $ $ $ $ $    C 3 3 Y\ hk    @ C  3  3  Y\  hk        D3 # # X[ hk    @C 3 3 Y\ qt       s       s     C C #     c c TW    4#    6     $    r1   