U
    g                     @   s@   d dl mZ ddlmZmZmZ ddlmZ G dd deZdS )   )InfoExtractor   )ExtractorErrormimetype2exturl_or_none)traverse_objc                   @   sn   e Zd ZdZddgZddddddd	d
dddddd	dddddd	gZddddddd	gZdd ZdS )VidlyIEzPhttps?://(?:vid\.ly/|(?:s\.)?vid\.ly/embeded\.html\?(?:[^#]+&)?link=)(?P<id>\w+)zF<script[^>]+\bsrc=[\'"](?P<url>(?:https?:)?//vid\.ly/\w+/embed[^\'"]+)zj<iframe[^>]+\bsrc=[\'"](?P<url>(?:https?:)?//(?:s\.)?vid\.ly/embeded\.html\?(?:[^#\'"]+&)?link=\w+[^\'"]+)zhttps://vid.ly/2i3o9j/embedZ2i3o9jZmp4z re:https://\w+\.cloudfront\.net/)idexttitleZ	thumbnail)urlZ	info_dictzKhttp://s.vid.ly/embeded.html?link=jw_test&new=1&autoplay=true&controls=trueZjw_testZ2x8m8tzhttps://vid.ly/7x0e6lZ7x0e6l)r	   r
   r   zThttps://www.petfinder.com/dog/gus-57378930/tn/ooltewah/furever-furkids-rescue-tn592/Zw8p5b0c           
   	   C   s   |  |}| jd| d|ddid}| d|d|}|dpBd}|dr^| |d	 |S |d
svtd|g }tt|d}dD ]:\}}	t|d	|t	hfr|
|d	 | d|	 |d q|| jd| d|ddddpg  |||dS )Nzhttps://vid.ly/z/embedZReferer)headerszinitCallback\(player ZjwplayerconfigZvidlyzUnknown player type )r   type))sourcesd)Z	source_hdZhdzhttp-)r   Z	format_idr
   z&https://d3fenhwk93s16g.cloudfront.net/z	/hls.m3u8Fz&Requesting higher quality m3u8 formatsz$No higher quality m3u8 formats found)fatalZnoteZerrnote)r	   r   formats)Z	_match_idZ_download_webpageZ_search_jsonget
startswithZ_parse_jwplayer_datar   r   r   r   appendextendZ_extract_m3u8_formats)
selfr   Zvideo_idZembed_scriptr   Zplayer_typer   r
   r   Zfid r   :/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/vidly.py_real_extract3   sD    

  




  zVidlyIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_WEBPAGE_TESTSr   r   r   r   r   r   
   sB   
r   N)	commonr   utilsr   r   r   Zutils.traversalr   r   r   r   r   r   <module>   s   