
    VGh                     b    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
  G d d	e      Zy)
    N   )FileDownloader)HlsFD   )Request)network_exceptionsc                       e Zd ZdZd Zd Zy)
BunnyCdnFDz
    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                    | j                  d| j                   d       t        | j                  | j                        }t        j                         }t        j                  | j                  |f|d         }|j                          	 |j                  ||      |j                          S # |j                          w xY w)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         c/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/downloader/bunnycdn.pyr   zBunnyCdnFD.real_download   s    4<<.(CDE488T[[)__&
&&d.>.>j][dez[{|	##Hi8NNJNNs   B- -B?c                    d}d}d}d}	|j                  |      s|	|z  }	|	t        t        j                         d      z   }
t        j                  | d| d|
 d| d| 	j                               j                         }| d| d|
 d	| d
| 	}	 | j                  j                  t        ||            j                          |j                  |      sy y # t        $ r+}| j                  d| j                   d|        Y d }~Cd }~ww xY w)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   zBunnyCdnFD.ping_thread    s   //-0M)L%";;D{{fXQzl!D66(!C5#Q#X#X#Z[eegHfXJfTF(6(,WZV[\HE  7!CDIIK //-0 & E4<<.sCDDEs   4C 	D!!DDN)__name__
__module____qualname____doc__r   r        r!   r
   r
      s    Er@   r
   )r*   r)   r   commonr    r   
networkingr   networking.exceptionsr   r
   r?   r@   r!   <module>rE      s(       "    6'E 'Er@   