
    yf                     :    d dl Z ddlmZ ddlmZ  G d de      Zy)    N   )InfoExtractor   )traverse_objc            	       T    e Zd ZdZdddddddd	d
dddgdddddddgZd Zd Zy)HytaleIEz>https?://(?:www\.)?hytale\.com/news/\d+/\d+/(?P<id>[a-z0-9-]+)z>https://hytale.com/news/2021/07/summer-2021-development-updatezsummer-2021-development-updatezSummer 2021 Development Update)idtitle    0854ebe347d233ee19b86ab7b2ead610 ed51a2609d21bad6e14145c37c334999mp4zAvatar Personalizationz;re:https://videodelivery\.net/\w+/thumbnails/thumbnail\.jpg)r	   extr
   	thumbnail)md5	info_dict)urlr   playlist_countplaylistz:https://www.hytale.com/news/2019/11/hytale-graphics-updatezhytale-graphics-updatezHytale graphics updater   )r   r   r   c                     | j                  dd dd      xs d}t        | j                  d|dd       d      xs g }|D ci c]#  }|j                  d	      |j                  d
      % c}| _        y c c}w )Nzhttps://hytale.com/mediazDownloading list of mediaF)notefatal z-window\.__INITIAL_COMPONENTS_STATE__\s*=\s*\[z
clips json)mediaclipssrccaption)_download_webpager   _search_jsonget_titles)selfmedia_webpage
clips_jsonclips       9/usr/lib/python3/dist-packages/yt_dlp/extractor/hytale.py_real_initializezHytaleIE._real_initialize"   s    ..&3NV[ / ] c`b 	 "@|T3 	  & $&	 	 JTT))<<TTs    (A1c           	      :   | j                  |      }| j                  ||      }t        j                  d|      D cg c]3  }| j	                  d| d| j
                  j                  |      d      5 }}| j                  ||| j                  |            S c c}w )NzI<stream\s+class\s*=\s*"ql-video\s+cf-stream"\s+src\s*=\s*"([a-f0-9]{32})"zhttps://cloudflarestream.com/z9/manifest/video.mpd?parentOrigin=https%3A%2F%2Fhytale.comT)r
   url_transparent)		_match_idr   refindall
url_resultr!   r    playlist_result_og_search_title)r"   r   playlist_idwebpage
video_hashentriess         r&   _real_extractzHytaleIE._real_extract.   s    nnS)((k:
 !jj\	
  OO/
|;tull&&z2D  J
 
 ##G[$:O:OPW:XYY
s   8BN)__name__
__module____qualname__
_VALID_URL_TESTSr'   r4        r&   r   r      sk    RJO25
 581[	
 " L*-
 !F2
UZr;   r   )r+   commonr   utilsr   r   r:   r;   r&   <module>r>      s    	 !  3Z} 3Zr;   