
    V|h                     ^    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g)    N   )InfoExtractor   )ExtractorErrorint_or_nonejoin_nonemptysmuggle_urltraverse_objtry_callunsmuggle_urlurljoinc                   ~    \ rS rSrSrSrS/rSSSS.S	S
.SSSSSSS/ SQSSS.SS0S.SSSSSSS.SS./rS  rS! r	S"r
g#)$LiTVIE   zahttps?://(?:www\.)?litv\.tv/(?:[^/?#]+/watch/|vod/[^/?#]+/content\.do\?content_id=)(?P<id>[\w-]+)zhttps://www.litv.tv/%s/watch/%sTWz+https://www.litv.tv/drama/watch/VOD00041610VOD00041606u	   花千骨)idtitle3   )url	info_dictplaylist_count b90ff1e9f1d8f5cfcd0a44c3e2b34c7aVOD00041610mp4u   花千骨第1集zre:https?://.*\.jpg$uP  《花千骨》陸劇線上看。十六年前，平靜的村莊內，一名女嬰隨異相出生，途徑此地的蜀山掌門清虛道長算出此女命運非同一般，她體內散發的異香易招惹妖魔。一念慈悲下，他在村莊周邊設下結界阻擋妖魔入侵，讓其年滿十六後去蜀山，並賜名花千骨。)u   奇幻u   愛情u   仙俠u   古裝z	Episode 1r   )r   extr   	thumbnaildescription
categoriesepisodeepisode_number
noplaylistT)r   md5r   paramsz+https://www.litv.tv/drama/watch/VOD00044841 88322ea132f848d6e3e18b32a832b918VOD00044841u+   芈月傳第1集　霸星芈月降世楚國u  楚威王二年，太史令唐昧夜觀星象，發現霸星即將現世。王后得知霸星的預言後，想盡辦法不讓孩子順利出生，幸得莒姬相護化解危機。沒想到眾人期待下出生的霸星卻是位公主，楚威王對此失望至極。楚王后命人將女嬰丟棄河中，居然奇蹟似的被少司命像攔下，楚威王認為此女非同凡響，為她取名芈月。)r   r   r   r   zNo longer exists)r   r#   r   skipc                     [        USSSS 45       Vs/ s H1  nU R                  [        U R                  X#S   4-  SS05      5      PM3     nnU R	                  XAS   UR                  S5      5      $ s  snf )	Nseasons.episodesc                     US   $ )N
content_id )_vs     O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/litv.py<lambda>*LiTVIE._extract_playlist.<locals>.<lambda>=   s    abcoap    r,   force_noplaylistTr   )r
   
url_resultr	   _URL_TEMPLATEplaylist_resultget)selfplaylist_datacontent_typer    all_episodess        r0   _extract_playlistLiTVIE._extract_playlist8   s    
 (	3
Tp7qr	t s OOK""lL4I%JJ#T*, - s	 	 t ##L2M}O`O`ahOijjts   8A2c           
        ^  [        U0 5      u  pT R                  U5      nT R                  X5      nT R                  XC5      S   S   n[	        US[
        145      =(       d    0 n[	        US5      nU(       aF  T R                  UR                  S5      X25      (       a   T R                  XvR                  S5      5      $ [	        USSS	[        145      nU(       a  S
n	O
US   nUS   n	[        U 4S j5      n
U
(       a  SnO [        [        R                  " 5       5      n
SnT R                  SU 3U[        R                  " XU
S.5      R!                  5       SS0S9n[	        US[
        145      =n(       aj  [	        US[        145      nU(       a  SU;   a  T R#                  S5        O U(       a  [%        T R&                   SU 3SS9e[%        ST R&                   35      eT R)                  US   S   S   USSS 9nU H  nS!UR+                  S"0 5      S#'   M     UU[-        S$S%S&US'9S(.[	        US)[        14S*[/        S+5      14S,S-S.[        14S/[0        14S0.5      E$ )1Nprops	pagePropsprogramInformation
seriesTree	series_idr;   assetsr   asset_idvodr,   c                  @   > T R                  S5      S   R                  $ )Nzhttps://www.litv.tv/PUID)_get_cookiesvalue)r9   s   r0   r1   &LiTVIE._real_extract.<locals>.<lambda>R   s     1 12H I& Q W Wr3   zget-urlszget-urls-no-authzhttps://www.litv.tv/api/)AssetId	MediaTypepuidzContent-Typezapplication/json)dataheaderserrormessageOutsideRegionErrorz&This video is available in Taiwan onlyz said: T)expectedzUnexpected error from result	AssetURLsr   hls)r   m3u8_ididentityhttp_headerszAccept-Encodingr   secondary_mark )delim	from_dict)r   formatsr   r   picturez https://p-cdnstatic.svc.litv.tv/genres.namer    )r   r   r   r!   )r   	_match_id_download_webpage_search_nextjs_datar
   dict_yes_playlistr8   r=   strr   uuiduuid4_download_jsonjsondumpsencoderaise_geo_restrictedr   IE_NAME_extract_m3u8_formats
setdefaultr   r   r   )r9   r   smuggled_datavideo_idwebpagevod_dataprogram_infor:   rF   
media_typerO   endpoint
video_datarR   	error_msgr`   a_formats   `                r0   _real_extractLiTVIE._real_extractA   s   *33>>#&((7++G>wGT#H/CdV.LMSQS$X>T//0@0@0Mxgg))-9I9I.9YZZxJ.NOJ#L1H%n5JWX!Htzz|$D)H((&xj18SWXY``b#%78 ) :

 !gv->??5?$UY,>?I1Y>))*RS$~WYK%HSWXX #9$,,!HII,,x -a0(u - VHISH34EF  
 "7,<BR^_

 < -u5''2T*U)VW'fse<#,{m"<	* 	

 
	
r3   r-   N)__name__
__module____qualname____firstlineno__
_VALID_URLr6   _GEO_COUNTRIES_TESTSr=   r~   __static_attributes__r-   r3   r0   r   r      s    uJ5MVN< 
  =1'0 nB"	
 $
" =1B s	
 #
/!FFk4
r3   r   )rm   rj   commonr   utilsr   r   r   r	   r
   r   r   r   r   r-   r3   r0   <module>r      s+      !	 	 	d
] d
r3   