
    *bi'                        S SK Jr  S SKJr  S SKJr  S SKJr  SSKJ	r	J
r
JrJr  SSKJrJrJrJr  SSKJr  SS	KJrJrJrJr  SS
KJr  SSKJr  SSKJr  SSKJ r   SSK!J"r"  SSK#J$r$  SSK%J&r&  SSK'J(r(  SSK)J*r*J+r+J,r,   " S S\5      r-S r.g)    )gather)loads)token_urlsafe)remove   )LOGGER	task_dicttask_dict_lockbot_loop)sync_to_asynccmd_exec
arg_parserCOMMAND_USAGE)DirectDownloadLinkException)is_gdrive_linkis_share_linkis_rclone_pathis_gdrive_id)stop_duplicate_check)TaskListener)direct_link_generator)GoogleDriveClone)GoogleDriveCount)RcloneTransferHelper)GoogleDriveStatus)RcloneStatus)send_messagedelete_messagesend_status_messagec                   H   ^  \ rS rSr        SU 4S jjrS rS rSrU =r$ )Clone%   c                    > Uc  / nX l         Xl        Xl        Xl        0 U l        Xl        [        TU ]  5         SU l        g )NT)	messageclient	multi_tagoptionssame_dirbulksuper__init__is_clone)selfr%   r$   _______________r)   r&   r'   	__class__s              /app/bot/modules/clone.pyr+   Clone.__init__&   sA     <D"	    c                 J  #    U R                   R                  R                  S5      nUS   R                  S5      nSSSSSSSS.n[        USS  U5         [	        US   5      U l        US	   U l        US
   U l        US   U l        US   U l	        US   nUS   nSnSn[        U[        5      (       d>  UR                  S5      nUS   =(       d    Sn[        U5      S:X  a  US   =(       d    SnSnU(       a   U R                  X&U[        5      I S h  vN   g U R                  U5      I S h  vN   U R                  (       dO  U R                   R                   =n	(       a2  U	R                  R                  SS5      S   R#                  5       U l        U R%                  U[        5      I S h  vN   [        U R                  5      S:X  a4  ['        U R                   [(        S   S   [(        S   S   5      I S h  vN   g [*        R,                  " U R                  5         U R/                  5       I S h  vN   U R3                  U5      I S h  vN   g !   SU l         GN= f GNL GN5 N No N7! [0         a)  n
['        U R                   U
5      I S h  vN     S n
A
g S n
A
ff = f NV7f)N
r     F)link-i-b-n-up-rcf-sync   r<   r?   r@   r;   r>   r=   rA   :r   Tclone)r$   textsplitr   intmultiup_destrc_flagsr;   name
isinstanceboollen	init_bulkr!   get_tagreply_to_messagestrip	run_multir   r   r   infobefore_start	Exception_proceed_to_clone)r-   rE   
input_listargsis_bulksync
bulk_startbulk_enddargsreply_toes              r4   	new_eventClone.new_event>   s`    ||  &&t,!W]]3'
 
 	:ab>4(	T$ZDJ E{VL	J	t*G}
'4((MM#&EqQJ5zQ 8=qG..5IIIll4   yy$,,*G*GGhG ++D!4Q7==?DInnZ///tyy>QmG4Q7w9OPQ9R   DII	##%%% $$T***U	DJ( J 	!
 	0 & 	t||Q///	 	+s   AJ#I )B*J#IJ#-I".A=J#+I%,AJ#7I'8%J#I+ 1I)2I+ 6J#
J!J#	IJ#"J#%J#'J#)I+ +
J5JJJJ#JJ#c           
        #    [        U R                  5      (       aK   [        [        U R                  5      I S h  vN U l        [        R
                  " SU R                   35        [        U R                  5      (       d  [        U R                  5      (       Ga-  [        [        5       R                  U R                  U R                   5      I S h  vN u  U l        o0l        pEUc)  [        U R                  U R"                  5      I S h  vN   g ['        U 5      I S h  vN u  pgU(       a  [        U R                  Xg5      I S h  vN   g U R)                  5       I S h  vN   [        R
                  " SU R"                   SU R                   35        [+        U 5      nUS::  a-  [        U R                  SU R                   S35      I S h  vN nOwSn[-        S	5      n	[.         IS h  vN   [1        XU	S
5      [2        U R4                  '   S S S 5      IS h  vN   U R6                  S::  a  [9        U R                  5      I S h  vN   [        UR:                  5      I S h  vN u  ppKnU(       a  [=        U5      I S h  vN   U
(       d  g U R?                  XXUS9I S h  vN   [        R
                  " SU R"                   35        g [A        U R                  5      (       Ga  U R                  R                  S5      (       aU  U R                  RC                  SSS5      U l        U RD                  RC                  SSS5      U l"        SU R                    S3nOSnU R                  RG                  SS5      u  pURI                  S5      U l        U R                  R                  S5      (       a(  SnSnU R"                  (       d  U R                  U l        GO=U R                  nSSSSSSUU SU 3/n[K        U5      I S h  vN nUS   S:w  a9  US   S:w  a/  SU SU S US   S S!  3n[        U R                  U5      I S h  vN   g [M        US   5      nUS"   (       a  U R"                  (       d#  U(       a  URO                  SS5      S#   OUU l        U =RD                  U RD                  RQ                  S5      (       a  U R"                  OSU R"                   3-  sl"        SnO0U R"                  (       d  URO                  SS5      S#   U l        US$   nU R)                  5       I S h  vN   [S        U 5      n[        R
                  " SU R"                   SU R                   S%U RD                   35        [-        S	5      n	[.         IS h  vN   [U        U UU	S
5      [2        U R4                  '   S S S 5      IS h  vN   U R6                  S::  a  [9        U R                  5      I S h  vN   U(       a  S&OS'nUR;                  UUUUU5      I S h  vN u  n
nU R                  R                  S5      (       a  [W        U R                  5      I S h  vN   U(       d  g [        R
                  " SU R"                   35        SS(SS)S*SUU/nSS(SS)S+SUU/nSS,SS-SUU/n[Y        [K        U5      [K        U5      [K        U5      5      I S h  vN u  nnnUS   S:w  d  US   S:w  d	  US   S:w  aW  US   S:X  a  g S nS nSU l        US   =(       d    US   =(       d    US   nSU S US S!  3nU R[                  U5      I S h  vN   g []        US   RG                  S.5      5      nUS   (       a+  []        US   RI                  5       RG                  S.5      5      OSn[M        US   5      nUS/   U l        U R?                  XXU5      I S h  vN   g [        U R                  [^        S0   S   [^        S0   S   5      I S h  vN   g  GN! [         av  n[        R                  " [        U5      5        [        U5      R                  S5      (       a-  [        U R                  [        U5      5      I S h  vN     S nAg  S nAGNS nAff = f GN GNz GNi GNE GN/ GN GN GN! , IS h  vN  (       d  f       GN= f GNq GNW GN< GN GN GN GN GNA GN! , IS h  vN  (       d  f       GN+= f GN GN GN GN/ GN GN8 GN7f)1NzGenerated link: zERROR:zClone Started: Name: z - Source: 
   zCloning: <code>z</code>r:      clrB   )dir_idzCloning Done: zmrcc:zrclone/z.confzrclone.confrC   /rclone_selectFoldermltb_rlsjsonz--fast-listz--statz--no-modtimez--configr   r   iz(Error: While getting rclone stat. Path: z
. Stderr: i  IsDirMimeTypez - Destination: r[   copylsfz-Rz--files-onlyz--dirs-onlysizez--jsonr8   bytesrD   )0r   r;   r   r   r   rT   r   errorstr
startswithr   r$   r   r   r   countuser_idrK   rr   r   on_download_startr   r   r
   r   r	   midrH   r   rD   r   on_upload_completer   replacerI   rF   rR   r   r   rsplitendswithr   r   r   r   on_upload_errorrN   r   )r-   r[   r`   	mime_typefilesr.   msgbuttondrivegidflinkfoldersrg   config_pathremotesrc_pathcmdresrstat
RCTransfermethoddestinationcmd1cmd2cmd3res1res2res3rt   rsizes                                 r4   rW   Clone._proceed_to_clone|   s    ##"/0Etyy"QQ	.tyyk:; $))$$TYY(?(?>K "(($))T\\? 95DIy)U  "4<<;;; 4T ::KC"4<<===((***KK/		{+dii[QR$T*E{(LLODII;g"F  #B')>*;Dd*SIdhh' *>::?-dll;;;=J5;;=W7W4Eef$S)))))g *    KK.45DII&&yy##G,, II--gr1=	#||33GRC '~U;+#yysA6F s+DIyy##O44$	yy $		DI99!"haz*	 %SM)q6Q;1v| HPQRZQ[[efijkflmrnrfsetu*4<<===c!f>99CKHOOC$;B$?QW	LL%)\\%:%:3%?%?		q_L !)I99$,OOC$;B$?	 %j 1I((***-d3JKK'		{+dii[HXY]YeYeXfg  #C%~&24S$&O	$((# &~zzQ)$,,777#VF'1'7'7( "E; yy##O44TYY'''KK.45	D 	D D &,&  D$
 Aw!|tAw!|tAw!|7b=	Q5475d1g@ZX]^c_cXdWef**3///DGMM$/0>B1g#d1gmmo33D9:1d1g!'N	--'k   mG4Q7w9OPQ9R  G R. SV$q6$$X..&t||SV<<< /9 <:=* *>>> <7W)> * > + &~~~ 8" (B  0s:  d`  _=,`  (A+db8dbd b	!&dbd b!A,dbd*b+d.bdb,db6d"b9#d b< d!b?"EdcA dcC%d(c)A!d
cd c.d9c:,d&c,''dc/?dc2A7dc5A4d;c8<Bdc;3d7c>8d=`   
b 
A a;*a-+a;0d;b  dd	ddddddb3!b$"b3.	d9d<d?ddddddc)cc)$	d/d2d5d8d;d>d)r)   r%   r,   r;   r$   rH   r&   rK   r'   rJ   r(   rr   rI   )NNNNNNNr:   )	__name__
__module____qualname____firstlineno__r+   ra   rW   __static_attributes____classcell__)r3   s   @r4   r!   r!   %   s4    
 0<+|h hr6   r!   c                 f   #    [         R                  " [        X5      R                  5       5        g 7f)N)r   create_taskr!   ra   )r%   r$   s     r4   
clone_noder   '  s!     v/99;<s   /1N)/asyncior   jsonr   secretsr   aiofiles.osr   r:   r   r	   r
   r   helper.ext_utils.bot_utilsr   r   r   r   helper.ext_utils.exceptionsr   helper.ext_utils.links_utilsr   r   r   r   helper.ext_utils.task_managerr   helper.listeners.task_listenerr   >helper.mirror_leech_utils.download_utils.direct_link_generatorr   ,helper.mirror_leech_utils.gdrive_utils.cloner   ,helper.mirror_leech_utils.gdrive_utils.countr   /helper.mirror_leech_utils.rclone_utils.transferr   4helper.mirror_leech_utils.status_utils.gdrive_statusr   4helper.mirror_leech_utils.status_utils.rclone_statusr   $helper.telegram_helper.message_utilsr   r   r   r!   r    r6   r4   <module>r      so      !  : :  F  A 9 L K R T O L D=r6   