
    VGh                         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 G d d	e      Z G d
 de      Zy)    N   )InfoExtractor   )filter_dictfloat_or_noneint_or_noneparse_age_limitsmuggle_urltraverse_objunsmuggle_urlurl_or_nonec                   n    e Zd Zdj                  dj	                   eej                  d                  Zy)CineverseBaseIEzhttps?://www\.(?P<host>{})|)zcineverse.comzasiancrush.comzdovechannel.comzscreambox.comzmidnightpulp.comz
fandor.comzretrocrush.tvN)	__name__
__module____qualname__formatjoinmapreescape_VALID_URL_BASE     c/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/cineverse.pyr   r      s1    3::388C		 T E < 	Or   r   c                   |    e Zd Zej                   dZddddddg dd	d
ddddddddddg dddddddddgZd Zy)CineverseIEz/watch/(?P<id>[A-Z0-9]+)z<https://www.asiancrush.com/watch/DMR00018919/Women-Who-Flirtzgeo-blockedzWomen Who Flirtmp4DMR00018919l   9]9)zXun ZhouzXiaoming Huangz
Yi-Lin Siez	Sonia Sui	QunicirengԘ@z$md5:892fd62a05611d394141e8394ace0bc6   )titleextidmodified_timestampcastdurationdescription	age_limit)urlskip	info_dictzFhttps://www.retrocrush.tv/watch/1000000023016/Archenemy! Crystal BowiezArchenemy! Crystal Bowie1000000023016   r   )zNachi NozawazYoshiko SakakibarazToshiko Fujitar   z	Episode 3zSeason 1gT㥛D4@z@Cobra meets a beautiful bounty hunter by the name of Jane Royal.)Space Adventure COBRA (Original Japanese))r#   r$   r%   episode_numberseason_numberr'   r*   episodeseasonr(   r)   seriesc                    t        |i       \  }}| j                  d|j                  d      i       | j                  |      }| j	                  ||      }| j                  ||      d   d   d   }|j                  d      }|dk(  r| j                          n'|d	k(  r"| j                  d
|j                  d             t        dt        |ddt        hif      xs d i      | j                  |d   |      dt        |ddddt        d      hfddd hfdddddt        hfddt        hfddt        hfddt        hfd d!
      S )"N)default	countriesgeo_countriesprops	pagePropsidetailserr_codei  i  zThis video is not available from your location due to geo restriction. You may be able to bypass it by using the /details/ page instead of the /watch/ page)r8   en)
cc_url_vttsubtitle_urlr+   )	subtitlesformatsr#   )detailsitem_id)rC   r)   r(   i  )scalerC   r'   c                 $    | j                  d      S Nz, splitxs    r   <lambda>z+CineverseIE._real_extract.<locals>.<lambda>Z   s    qwwt} r   
updated_byr   update_timetimer4   r3   rating_code)rC   series_detailsr#   )
r#   r%   r)   r(   r'   r&   r2   r1   r*   r5   )r   _initialize_geo_bypassget	_match_id_download_webpage_search_nextjs_dataraise_login_requiredraise_geo_restrictedr   r   r   _extract_m3u8_formatsr   r   r	   )selfr+   smuggled_datavideo_idhtmlr<   r=   s          r   _real_extractzCineverseIE._real_extract>   s   *3;]##**?;%
 	 >>#&%%c84++D(;GD[QR\]<<
+t%%'%%g'++O< & > %l8.LuWbVcNd-efnjn&  11(5/8L	

 8 ,9'-d*C)DE"F-D,EF'0,=RX[fZg&h"+X}!E#,i+"G'8IJ@& 
 	
r   Nr   r   r   r   r   
_VALID_URL_TESTSr^   r   r   r   r   r      s    $4455MNJM&"/Z A	
 X/!L"  ]A
F@#
r   r   c            	       ^    e Zd Zej                   dZdddddddd	d
ddg ddddgZd Zy)CineverseDetailsIEz/details/(?P<id>[A-Z0-9]+)zYhttps://www.retrocrush.tv/details/1000000023012/Space-Adventure-COBRA-(Original-Japanese)   r0   1000000023012)r#   r%   )r+   playlist_mincountr-   z=https://www.asiancrush.com/details/NNVG4938/Hansel-and-GretelNNVG4938r   zHansel and Gretelz$md5:e3e4c35309c2e82aee044f972c2fb05d)zJeong-myeong CheonzEun Won-jaezShim Eun-gyeongz
Ji-hee JinzHee-soon Parkz
Lydia ParkzKyeong-ik KimgZdv@)r%   r$   r#   r)   r'   r(   )r+   r-   c                    	
  j                  |      j                  dd      \  
} j                  ||      } j                  ||      d   d   }t	        |ddd hf      t	        |d      d	k(  		
 fd
}t	        |dddd f      }|r2 j                  |D cg c]
  } ||       c}|t	        |d            S  ||d         S c c}w )Nhostr%   r:   r;   itemDetailsDatageo_countryc                 $    | j                  d      S rG   rH   rJ   s    r   rL   z2CineverseDetailsIE._real_extract.<locals>.<lambda>~   s    ^_^e^efj^k r   )rj   playback_err_msgz-This title is not available in your location.c                 r    d d| d    d| d    }rt        |di      }j                  |t              S )Nzhttps://www.z/watch/rD   /r#   r9   )r
   
url_resultr   )itemitem_urlr9   
geoblockedri   rZ   s     r   item_resultz5CineverseDetailsIE._real_extract.<locals>.item_result   sI    %dV74	?2C1T']OTH&x/=1QR??8[99r   seasonEpisodes.episodesc                     |d   xr |d   S )NrD   r#   r   )_vs     r   rL   z2CineverseDetailsIE._real_extract.<locals>.<lambda>   s    Z[\eZfZuklmtku r   )rj   r#   )playlist_idplaylist_title)_match_valid_urlgrouprU   rV   r   playlist_result)rZ   r+   	series_idr]   	pagepropsrt   r4   epr9   rs   ri   s   `       @@@r   r^   z CineverseDetailsIE._real_extracty   s    //4::64Hi%%c95,,T9=gF{S	$Y1BMTkSl0mn!) .3 47fg
	: i*:CMu)vw''6(JRR(JXa7CIOk7l ( n n9%6788 )Ks   CNr_   r   r   r   rc   rc   d   s]    $4455OPJj@!
 O(A K 

F&9r   rc   )r   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   rc   r   r   r   <module>r      sA    	 !	 	 			m 		E
/ E
P(9 (9r   