
    vi                         S SK Jr  SSKJrJrJrJrJrJr  SSK	J
r
  SSKJr  SSKJrJr  SS	KJr  SS
KJr  S rSS jrS\4S jrS\4S jrS rg)    )Event   )	queued_dl	queued_upnon_queued_upnon_queued_dlqueue_dict_lockLOGGER)Config   )GoogleDriveSearch   )sync_to_asyncget_telegraph_list)get_base_name)is_gdrive_idc                 r  #    U R                   (       dM  U R                  (       a<  U R                  (       d+  U R                  (       d  [	        U R
                  5      (       d  gU R                  n[        R                  " SU 35        U R                  (       a  U S3nOU R                  (       a   [        U5      nUbk  [        [        SU R                  S9R                  UU R
                  U R                   5      I S h  vN u  p#U(       a  SU S3n[#        U5      I S h  vN nXE4$ g!   S n Nu= f N3 N7f)N)FNz*Checking File/Folder if already in Drive: z.zipT)stop_dupno_multiz4File/Folder is already available in Drive.
Here are z list results:)is_leechstop_duplicatesame_dirselectr   up_destnamer
   infocompressextractr   r   r   is_clone
drive_listuser_idr   )listenerr   telegraph_contentcontents_nomsgbuttons         )/app/bot/helper/ext_utils/task_manager.pystop_duplicate_checkr(      s    &&??H,,--==D
KK<TFCDt}				 &D /<th6G6GHSS	0
 *
& I+VdeC-.?@@F;	D*
 As=   B-D70D* ;AD7?D3 !D7!D5"D7*D0.D75D7c                   #    [         R                  nUS:X  a  [         R                  O[         R                  nS nSn[         IS h  vN   US:X  a4  U R
                  [        ;   a   [        R                  " U R
                  5        U(       d  U(       a  U R                  (       d  U R                  (       a  US:X  d  U R                  (       a  US:X  d  [        [        5      n[        [        5      nUS:X  a  UOUnU=(       a     Xg-   U:  =(       a    U(       + =(       d    X:  =(       d    U=(       a    X:  nU(       a7  [        5       nUS:X  a  U[        U R
                  '   OU[        U R
                  '   U(       dG  US:X  a!  [        R                   " U R
                  5        O [        R                   " U R
                  5        S S S 5      IS h  vN   XT4$  GN N
! , IS h  vN  (       d  f       XT4$ = f7f)NdlFup)r   	QUEUE_ALLQUEUE_DOWNLOADQUEUE_UPLOADr	   midr   remove	force_runforce_uploadforce_downloadlenr   r   r   r   add)	r"   state	all_limitstate_limiteventis_over_limitdl_countup_countt_counts	            r'   check_running_tasksr>   6   sl      I+0D=&''f>Q>QKEMD=X\\]:  .+&&**u},,$=)H=)H"'4-hXG @'94@$_>(>: 8'"8	 
 D=.3Ihll+.3Ihll+}!!(,,/!!(,,/7 : ; : sI   AG8GG8E9GG8GG8G8G5"G%#G5/	G8r/   c                 t   #    [         U    R                  5         [         U 	 [        R                  " U 5        g 7fN)r   setr   r5   r/   s    r'   start_dl_from_queuedrC   [   *     cN#c   68c                 t   #    [         U    R                  5         [         U 	 [        R                  " U 5        g 7fr@   )r   rA   r   r5   rB   s    r'   start_up_from_queuedrG   a   rD   rE   c                  \  #    [         R                  =n (       GaW  [         R                  n[         R                  n[         IS h  vN   [        [        5      n[        [        5      nX4-   nXP:  a  X-
  n[        (       al  U(       a  XB:  a`  [        [        [        R                  " 5       5      SS9 H6  u  px[        U5      I S h  vN   US-  nUS:X  d  U(       d  M,  XrU-
  :  d  M6    O   [        (       aj  U(       a  X1:  a^  US:w  aX  [        [        [        R                  " 5       5      SS9 H.  u  px[        U5      I S h  vN   U(       a  XqU-
  :  d  Xv:X  d  M.    O   S S S 5      IS h  vN   g [         R                  =n(       a  [         IS h  vN   [        [        5      n[        (       aR  XB:  aM  X$-
  n[        [        [        R                  " 5       5      SS9 H  u  px[        U5      I S h  vN   Xv:X  d  M    O   S S S 5      IS h  vN   Ob[         IS h  vN   [        (       a8  [        [        R                  " 5       5       H  n[        U5      I S h  vN   M     S S S 5      IS h  vN   [         R                  =n(       a  [         IS h  vN   [        [        5      n[        (       aR  X1:  aM  X-
  n[        [        [        R                  " 5       5      SS9 H  u  px[        U5      I S h  vN   Xv:X  d  M    O   S S S 5      IS h  vN   g [         IS h  vN   [        (       a8  [        [        R                  " 5       5       H  n[        U5      I S h  vN   M     S S S 5      IS h  vN   g  GN8 GN GNA GN! , IS h  vN  (       d  f       g = f GN GN GN! , IS h  vN  (       d  f       GNM= f GN GNl GN[! , IS h  vN  (       d  f       GNq= f GNS N N! , IS h  vN  (       d  f       g = f N N N! , IS h  vN  (       d  f       g = f7f)Nr   )startr   )r   r,   r-   r.   r	   r4   r   r   r   	enumeratelistkeysrG   r   rC   )	r7   dl_limitup_limitr*   r+   all_f_tasksindexr/   s	            r'   start_from_queuedrR   g   s    $$$y$((&&"?]#B]#B7D#*9h"-&/Y^^5E0Fa&P
237771"a<HHR-9O!	 'Q
 9h"-WPQ\&/Y^^5E0Fa&P
23777$R-)?EDT! 'Q #?" 	&&&x&"?]#ByR]"-"+D1A,B!"LJE.s333' #M	 #?? #?y	 01C.s333 2 #?
 (((x("?]#ByR]"-"+D1A,B!"LJE.s333' #M	 #?? #?y	 01C.s333 2 #??Y # 8 8 #???" 	 #
 4 #??? # 4 #??? #
 4 #??? # 4 #???s  AP,M=P,	A<N	N N	N	(AN	NN	N	!P,,N-&P,N#P,AN,4N&5N, N,P,N)P,O P,#;OO
O'P,2O3%P,O+P,AO29O.:O2O2	P,O0P,$P%P,(;P#P$P,P,7P8P, N	N	P,	N NN P,&N,)P,,O2N53O?	P,
OP,O(OO(#	P,.O20P,2P	8O;9P	P,PP,P)PP)%P,N)r*   )asyncior    r   r   r   r   r	   r
   core.config_managerr   &mirror_leech_utils.gdrive_utils.searchr   	bot_utilsr   r   files_utilsr   links_utilsr   r(   r>   intrC   rG   rR        r'   <module>r]      sL      * F 8 & %!H" JC C 34r\   