
    V|h                     b    S SK r S SKrS SKrSSKJr  SSKJr  SSKJr  SSK	J
r
   " S S	\5      rg)
    N   )FileDownloader)HlsFD   )Request)network_exceptionsc                   $    \ rS rSrSrS rS rSrg)
BunnyCdnFD   z
Downloads from BunnyCDN with required pings
Note, this is not a part of public API, and will be removed without notice.
DO NOT USE
c                    U R                  SU R                   S35        [        U R                  U R                  5      n[
        R                  " 5       n[
        R                  " U R                  U4US   S9nUR                  5          UR                  X5      UR                  5         $ ! UR                  5         f = f)N[z] Downloading from BunnyCDN_bunnycdn_ping_data)targetargskwargs)	to_screenFD_NAMEr   ydlparams	threadingEventThreadping_threadstartreal_downloadset)selffilename	info_dictfd
stop_eventr   s         T/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/downloader/bunnycdn.pyr   BunnyCdnFD.real_download   s    4<<.(CDE488T[[)__&
&&d.>.>j][dez[{|	##H8NNJNNs   
B+ +B=c                 0   SnSnSnSn	UR                  U5      (       d  X-  n	U	[        [        R                  " 5       S5      -   n
[        R                  " U SU SU
 SU SU 3	R                  5       5      R                  5       nU SU SU
 S	U S
U 3	n U R                  R                  [        XS95      R                  5         UR                  U5      (       d  M  g g ! [         a+  nU R                  SU R                   SU 35         S nANJS nAff = f)Nr   i8  falser      _z?hash=z&time=z&paused=z&resolution=)headersr   z] Ping failed: )waitroundrandomhashlibmd5encode	hexdigestr   urlopenr   readr   r   r   )r   r!   urlr(   secret
context_idping_intervalrespausedcurrent_timetimemd5_hashping_urles                 r"   r   BunnyCdnFD.ping_thread    s   //-00)L%";;D{{fXQzl!D66(!C5#Q#X#X#Z[eegHfXJfTF(6(,WZV[\HE  !CDIIK //-00 & E4<<.sCDDEs   0C   
D*!DD N)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r>       r"   r
   r
      s    ErE   r
   )r,   r+   r   commonr    r   
networkingr   networking.exceptionsr   r
   r>   rE   r"   <module>rJ      s(       "    6'E 'ErE   