
    V|hc                     N    S SK r SSKJr  SSKJrJrJrJrJrJ	r	   " S S\5      r
g)    N   )InfoExtractor   )ExtractorErrorget_element_by_idint_or_none
js_to_jsonstr_or_nonetraverse_objc                   T    \ rS rSrSrSSSSSS/\\\S	S
SSSS.S./rS rS rS r	Sr
g)IxiguaIE   z7https?://(?:\w+\.)?ixigua\.com/(?:video/)?(?P<id>\d+).+z*https://www.ixigua.com/69968814615591654716996881461559165471mp4u?   盲目涉水风险大，亲身示范高水位行车注意事项z$md5:8c82f46186299add4a1c455430740229	video_caru   懂车帝原创
6480145787zre:^https?://.+\.(avif|webp)iai  )idexttitledescriptiontags
like_countdislike_count
view_countuploaderuploader_id	thumbnail	timestampduration)url	info_dictc                     [        SU5      nU(       d&  U R                  (       a  [        S5      e[        SSS9eU R                  UR	                  SS5      U[
        S9$ )	NSSR_HYDRATED_DATAzFailed to get SSR_HYDRATED_DATAz.Cookies (not necessarily logged in) are neededT)expectedzwindow._SSR_HYDRATED_DATA= )transform_source)r   _cookies_passedr   _parse_jsonreplacer	   )selfwebpagevideo_idjs_datas       Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/ixigua.py_get_json_dataIxiguaIE._get_json_data#   sd    #$7A##$%FGG !Q\`aaOO8"=xZd   f 	f    c              #     #    S0 4SSS04SSSS.44 H  u  p#[        US/UQS	 P75       H  n[        R                  " US
   5      R                  5       [	        UR                  S5      5      [	        UR                  S5      5      [	        UR                  S5      5      UR                  S5      [        UR                  S5      5      [	        UR                  S5      5      SS.UEv   M     M     g 7f)N)
video_list)dynamic_videodynamic_video_listacodecnone)r4   dynamic_audio_listm4a)vcodecr   .c                     US   $ )Nmain_url )_vs     r.   <lambda>*IxiguaIE._media_selector.<locals>.<lambda>3   s    1Z=r1   r<   vwidthvheightfps
codec_typequality_typesizer   )r    widthheightrD   r:   	format_idfilesizer   )r   base64	b64decodedecoder   getr
   )r*   	json_datapathoverridemedias        r.   _media_selectorIxiguaIE._media_selector-   s     r"4x6HI4PU6VW
ND
 &i#1Y1Y>X1YZ!++E*,=>EEG(8)<=)%))I*>?&uyy'78#ii5!,UYY~-F!G +EIIf,= > 
 
 
 [
s   C0C2c                 .   U R                  U5      nU R                  X5      nU R                  X25      S   S   S   S   n[        U R	                  UR                  S5      5      5      nUUR                  S5      UR                  S5      UUR                  S5      [        UR                  S	5      5      UR                  S
5      /[        US5      [        US5      UR                  S5      UR                  S5      [        UR                  S5      5      S.$ )NanyVideogidInformation
packerDatavideovideoResourcer   video_abstractvideo_like_countr   tag)	user_infouser_id)r_   namevideo_watch_countvideo_unlike_countvideo_publish_time)r   r   r   formatsr   r   r   r   r   r   r   r   )	_match_id_download_webpager/   listrT   rO   r   r   )r*   r    r,   r+   rP   re   s         r.   _real_extractIxiguaIE._real_extract@   s    >>#&((7''::FGWXYefgno	t++IMM/,JKL]]7+$==)9:#--(:;#IMM*$=>]]5)*'	3KL$Y0EF#--(;<&]]+?@$Y]]3G%HI
 	
r1   r=   N)__name__
__module____qualname____firstlineno__
_VALID_URLint_TESTSr/   rT   ri   __static_attributes__r=   r1   r.   r   r      sT    KJ;'VA M )'8#
 F&f&
r1   r   )rL   commonr   utilsr   r   r   r	   r
   r   r   r=   r1   r.   <module>ru      s#     ! E
} E
r1   