
    VGhc                     N    d dl Z ddlmZ ddlmZmZmZmZmZm	Z	  G d de      Z
y)    N   )InfoExtractor   )ExtractorErrorget_element_by_idint_or_none
js_to_jsonstr_or_nonetraverse_objc                   L    e Zd ZdZddddddgeeedd	d
ddddgZd Zd Zd Zy)IxiguaIEz7https?://(?:\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                     t        d|      }|s$| j                  rt        d      t        dd      | j                  |j	                  dd      |t
              S )	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       `/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/ixigua.py_get_json_datazIxiguaIE._get_json_data#   sd    #$7A##$%FGG !Q\`aaOO8"=xZd   f 	f    c              #     K   di fdddifddddffD ]  \  }}t        |dg|d	       D ]  }t        j                  |d
         j                         t	        |j                  d            t	        |j                  d            t	        |j                  d            |j                  d      t        |j                  d            t	        |j                  d            dd|   y w)N)
video_list)dynamic_videodynamic_video_listacodecnone)r2   dynamic_audio_listm4a)vcodecr   .c                     |d   S )Nmain_url )_vs     r-   <lambda>z*IxiguaIE._media_selector.<locals>.<lambda>3   s
    1Z= r/   r:   vwidthvheightfps
codec_typequality_typesizer   )r   widthheightrA   r8   	format_idfilesizer   )r   base64	b64decodedecoder   getr
   )r)   	json_datapathoverridemedias        r-   _media_selectorz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   C,C.c                 2   | j                  |      }| j                  ||      }| j                  ||      d   d   d   d   }t        | j	                  |j                  d                  }||j                  d      |j                  d      ||j                  d      t        |j                  d	            |j                  d
      gt        |d      t        |d      |j                  d      |j                  d      t        |j                  d            d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.   listrQ   rL   r   r   )r)   r   r+   r*   rM   ra   s         r-   _real_extractzIxiguaIE._real_extract@   s   >>#&((h7''::FGWXYefgno	t++IMM/,JKL]]7+$==)9:#--(:;#IMM*$=>]]5)*'	3KL$Y0EF#--(;<&]]+?@$Y]]3G%HI
 	
r/   N)	__name__
__module____qualname__
_VALID_URLint_TESTSr.   rQ   re   r;   r/   r-   r   r      sT    KJ;'VA M )'8#
 F&f&
r/   r   )rI   commonr   utilsr   r   r   r	   r
   r   r   r;   r/   r-   <module>rn      s#     ! E
} E
r/   