
    V|hw+                     |    S SK r S SKrS SKrSSKJr  SSKJrJrJ	r	J
r
JrJrJrJr   " S S\5      r " S S	\5      rg)
    N   )InfoExtractor   )ExtractorErrorfloat_or_noneint_or_nonetraverse_objtry_getunified_timestampurl_or_noneurljoinc                       \ rS rSrSrSSSSSS.S	S
.SSSSS.SS.SSSSSSSSS/ SQS.	S.SSSSSS S!S"S#/ S$QS%.S&S'SS(SS).0S&S*SS+SS).0S&S,SS-SS).0/S..S/S0S1SS2S3S4S5S6/ S7.S8S90S:./rS; rS<rg=)>SohuIE   zJhttps?://(?P<mytv>my\.)?tv\.sohu\.com/.+?/(?(mytv)|n)(?P<id>\d+)\.shtml.*?z.This video is available only in Mainland Chinaz2http://tv.sohu.com/20130724/n382479172.shtml#super	382479172mp4u&   MV：Far East Movement《The Illest》)idexttitlezOn available in China)noteurl	info_dictskipz,http://tv.sohu.com/20150305/n409385080.shtml	409385080u@   《2015湖南卫视羊年元宵晚会》唐嫣《花好月圆》zno longer available)r   r   r   z1http://my.tv.sohu.com/us/232799889/78693464.shtml786934645   【爱范品】第31期：MWC见不到的奇葩手机   爱范儿视频   T20150305uhttp://e3f49eaa46b57.cdn.sohucs.com//group1/M10/83/FA/MTAuMTAuODguODA=/6_14cbccdde5eg104SysCutcloud_78693464_7_0b.jpgu	   爱范儿u	   爱范品MWCu   手机	r   r   r   uploaderduration	timestampupload_date	thumbnailtagsr   r   Multipart videoz/http://my.tv.sohu.com/pl/8384802/78910339.shtml78910339=   【神探苍实战秘籍】第13期 战争之影 赫卡里姆
   小苍cany     @@$U20150313uhttp://e3f49eaa46b57.cdn.sohucs.com//group1/M11/89/57/MTAuMTAuODguODA=/6_14cea022a1dg102SysCutcloud_78910339_8_0b.jpgu   小苍MMu   英雄联盟u   实战秘籍r   r   r%   r&   r'   r(   r)   r*   r   78910339_part1i&  )r   r   r&   r   78910339_part2i,  78910339_part3   )r   r   r   playlistz Video with title containing dashz1http://my.tv.sohu.com/us/249884221/78932792.shtml78932792zyoutube-dl testing videoih  iLZU20150314zuhttp://e3f49eaa46b57.cdn.sohucs.com//group1/M02/8A/00/MTAuMTAuODguNzk=/6_14cee1be192g102SysCutcloud_78932792_7_7b.jpg)r   r   r   r&   r'   r(   r)   r*   skip_downloadT)r   r   r   paramsc                 Z  ^ ^^ SBU U4S jjnT R                  U5      nUR                  S5      mUR                  S5      S LnT R                  UT5      n[        R                  " SST R                  U5      5      nT R                  SUS5      nU" Xt5      nUS	   S
:w  aJ  UR                  S5      S:X  a  [        T R                   S3SS9eT R                  T R                   S35        0 n	S H?  n
US   R                  U
 S35      nU(       d  M#  [        U5      nX{:X  a  UOU" X5      X'   MA     US   S   n/ n[        U5       GH  m/ nU	R                  5        GHj  u  pUS   nUS   n[        UST[        14SS9nU(       d  [        ST 35      eUS   nSnS nSnSU;   a  SUUT   SS
S.nUb  UUS'   S U
 S!TS
-    S"U 3nUS:  a	  US#U S$3-  nT R!                  T R                  S%U S&["        R$                  R'                  U5       3TU5      T5      nUS'   nUR                  S(5      nUS
-  nUS):  a  [        S*5      eSU;   a  M  UR)                  UU
[+        [-        UU4S+ j5      5      [+        UR                  S,5      5      [+        UR                  S-5      5      [+        UR                  S.5      5      S/.5        GMm     UR)                  T S0TS
-    3UUS   S1   T   US2.5        GM     [/        U5      S
:X  a  US   nTUS'   OS3UTU[        USS4[0        145      S5.nU(       a  [3        T R5                  S6US7SS895      nO[        US9[2        145      nS:U(       a  US;-
  OS 0[        USS<[        14S=S>[        14SS?[        14SS@[        R6                  14SA.5      EUE$ )CNFc                 f   > U(       a  SnOSnTR                  X -   TSU  3TR                  5       S9$ )Nz+http://my.tv.sohu.com/play/videonew.do?vid=z-http://hot.vrs.sohu.com/vrs_flash.action?vid=zDownloading JSON data for )headers)_download_jsongeo_verification_headers)vid_idmytvbase_data_urlselfvideo_ids      O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/sohu.py_fetch_data)SohuIE._real_extract.<locals>._fetch_datak   sF     M O&&&,VH5557 ' 9 9    r   rE   u.   ( - 高清正版在线观看)? - 搜狐视频$ zvar vid ?= ?["\'](\d+)["\']z
video pathplayr   status   z, said: There's something wrong in the video.T)expectedz= said: The video is only licensed to users in Mainland China.)norhighsuperorih2644kh2654kdataVidtotalBlocksallot)clipsURL
mp4PlayUrl)get_allzUnable to extract url for clip suznewflv.sohu.ccgslb.netr   	   h5n)protfilenewprodrbidczDownloading z video URL part z of z	 (retry #)http://z/?r   nid   zFailed to get video URLc                    > U S   T   $ )N
clipsBytes )xis    rI   <lambda>&SohuIE._real_extract.<locals>.<lambda>   s    ,0BrL   widthheightfps)r   	format_idfilesizers   rt   ru   _partclipsDuration)r   r   r&   formatsmulti_videototalDuration)_typeentriesr   r   r&   z.publishTime:\s*["\'](\d+-\d+-\d+ \d+:\d+)["\']zpublish time)fataltv_application_timer'   ip  subNamewm_datawm_usernamecoverImgtag)	alt_titler%   r)   r*   )F)_match_valid_urlgroup_download_webpageresub_og_search_title_html_search_regexgetr   IE_NAMEraise_geo_restrictedstrrangeitemsr	   r   _parse_jsonurllibparse	urlencodeappendr   r
   lenr   r   _search_regexsplit)rG   r   rJ   mobjrE   webpager   vidvid_dataformats_jsonrv   rD   
part_countr:   rz   format_datar[   rX   clip_urlr_   	video_urlcdn_idretriesr>   download_note	part_infoinfopublish_timerp   rH   s   `                           @@rI   _real_extractSohuIE._real_extracti   sk   		9 		9 $$S)::d#zz&!-((h7H"dNcNcdkNlm%%*\# s)Fq ||H%+$||n$QR!# # ))||n$abd LIf%))YKs*;<F[F25-h[QWE^L# M f%m4
z"AG*6*<*<*>&	#G,"6*'/I1{m.\fkl(+J1#)NOO$Z4	.); ! (!!u %F )(.u&29+=MaRSeWTXYcXd$eM{%9WIQ)?? $ 0 01G1G!%6<<+A+A&+I*JK -212:!<I !*% 0I&]]51FqLG{,-FGG3 /);6 $!* +&BC!E('):;)$((8*<=&txx7  Q +?d OO!
%Aw/$V,_=a@"	 i #v x=AA;D!DJ '#(FOm_3]^D ,T-?-?A7Nbg .@ .i jL (3HK\J]2^_L L0d	
8$i#7&u=$j;-@4	& 	
 	
 		
rL   rn   N__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr   __static_attributes__rn   rL   rI   r   r      s@   ^J AC=

 (	 >W

 & CL)#% Q?

 "@T$#% Q@	
 &X	
 &X	
 &X	
#H 3B/#% Q	
 T
CQFfC
rL   r   c                       \ rS rSrSrSSSSSSS	S
SS.SSS.SSSSSSSSS/ SQS.	S.SSSSSS S!S"S#/ S$QS%.S&S'./rS( rS)rg*)+SohuVIE   z8https?://tv\.sohu\.com/v/(?P<id>[\w=-]+)\.html(?:$|[#?])r,   z?https://tv.sohu.com/v/MjAyMzA2MTQvbjYwMTMxNTE5Mi5zaHRtbA==.html	601315192u   《淬火丹心》第1集u   “点天灯”发生事故gMb@id20230614zMhttp://photocdn.tv.sohu.com/img/20230614/vrsa_hor_1686738763256_454010551.jpg)r   r   r   r&   r'   r(   r)   r`   zOnly available in China)r   r   r   playlist_mincountr   z?https://tv.sohu.com/v/dXMvMjMyNzk5ODg5Lzc4NjkzNDY0LnNodG1s.htmlr   r   r   r   r   r   r    r!   r"   r$   r+   zFhttps://tv.sohu.com/v/dXMvMjQyNTYyMTYzLzc4OTEwMzM5LnNodG1s.html?src=plr-   r.   r/   r0   r1   r2   r3   r4   r5      )r   r   r   r   c                     U R                  U5      n[        R                  " U5      R                  5       n[        R
                  " SU5      (       a  SOSnU R                  [        SU S3U5      [        5      $ )Nz\d+/n\d+\.shtmltvzmy.tvri   z
.sohu.com/)		_match_idbase64urlsafe_b64decodedecoder   match
url_resultr   r   )rG   r   
encoded_idpath	subdomains        rI   r   SohuVIE._real_extract  sb    ^^C(
''
3::<HH%7>>DG	w:'FMvVVrL   rn   Nr   rn   rL   rI   r   r      s    LJ "P06 #%h
 ) QL)#% Q?

 "WT$#% Q@	
 7)FVWrL   r   )r   r   urllib.parser   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   rn   rL   rI   <module>r      s=     	  !	 	 	Z
] Z
z2Wm 2WrL   