
    Ği                     f    d dl Z d dlZddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZ  G d de          ZdS )    N   )InfoExtractor   )ExtractorErrorint_or_nonejoin_nonemptysmuggle_urltraverse_objtry_callunsmuggle_urlurljoinc                   x    e Zd ZdZdZdgZdddddd	dd
dddddg ddddddiddddddddddgZd Zd  Zd!S )"LiTVIEzahttps?://(?: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                       fdt          |dddd f          D             }                     ||d         |                    d                    S )Nc           
      z    g | ]7}                     t          j        |d          fz  ddi                    8S )
content_idforce_noplaylistT)
url_resultr	   _URL_TEMPLATE).0r   content_typeselfs     ZC:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/litv.py
<listcomp>z,LiTVIE._extract_playlist.<locals>.<listcomp>9   sh     t t t  OOK"lGL4I%JJ#T*, , - -t t t    seasons.episodesc                     |d         S )Nr)    )_vs     r0   <lambda>z*LiTVIE._extract_playlist.<locals>.<lambda>=   s    abcoap r2   r)   r   )r
   playlist_resultget)r/   playlist_datar.   all_episodess   ` ` r0   _extract_playlistzLiTVIE._extract_playlist8   s    t t t t t (	3
TpTp7qrr	t t t ##L-2M}O`O`ahOiOijjjr2   c           
      `    t          |i           \  }}                     |          }                     ||          }                     ||          d         d         }t	          |dt
          hf          pi }t	          |d          }|rS                     |                    d          ||          r)                     ||                    d                    S t	          |ddd	t          hf          }|rd
}	n|d         }|d         }	t           fd          }
|
rd}n"t          t          j                              }
d}                     d| |t          j        ||	|
d                                          ddi          }t	          |dt
          hf          x}rht	          |dt          hf          }|rd|v r                     d           n|rt%           j         d| d          t%          d j                                        |d         d         d         |dd           }|D ]}d!|                    d"i           d#<   ||t-          d$d%d&|'          d(t	          |d)t          hfd*t/          d+          hfd,d-d.t          hfd/t0          hfd0          S )1Nprops	pagePropsprogramInformation
seriesTree	series_idr.   assetsr   asset_idvodr)   c                  D                          d          d         j        S )Nzhttps://www.litv.tv/PUID)_get_cookiesvalue)r/   s   r0   r9   z&LiTVIE._real_extract.<locals>.<lambda>R   s     1 12H I I& Q W r2   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_playlistr;   r>   strr   uuiduuid4_download_jsonjsondumpsencoderaise_geo_restrictedr   IE_NAME_extract_m3u8_formats
setdefaultr   r   r   )r/   r   smuggled_datavideo_idwebpagevod_dataprogram_infor<   rF   
media_typerN   endpoint
video_datarQ   	error_msgr_   a_formats   `                r0   _real_extractzLiTVIE._real_extractA   s<   *333]>>#&&((h77++GX>>wGT#H/CdV.LMMSQS$X>> 	[T//0@0@0M0MxYfgg 	[))-9I9I.9Y9YZZZxJ.NOO 	6JJ#L1H%n5JWWWWXX 	*!HHtz||$$D)H((1x118zSWXXYY``bb#%78 ) : :

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