U
    gR*                     @   sh   d dl Z ddlmZ ddlmZ ddlmZmZmZ G dd deZ	G d	d
 d
eZ
G dd deZdS )    N   )InfoExtractor)	XstreamIE   )ExtractorErrorfloat_or_nonetry_getc                   @   s:  e Zd ZdZdZddddddddddd	
Zdd
dddddZdde	 de	 Z
dddddddddded	dddd d!d"dd#d$d%ed	d&d'id(d)d*d+dd,d-dd.d/d0ed	d&d'id1d2d3d4dd5d6d7d8d9ed:d&d'id;d<d'd=d>d'd=d?d'd=d@d'd=dAd'd=dBd'd=dCd'd=dDd'd=dEd'd=gZdFdG ZdHS )IVGTVIEz,VGTV, BTTV, FTV, Aftenposten and AftonbladetFvgtvbttvsatvfvntvaptvabtv)
ztv.vg.nozvgtv.nozbt.no/tvzaftenbladet.no/tvzfvn.no/fvntvzaftenposten.no/webtvzap.vgtv.no/webtvztv.aftonbladet.seztv.aftonbladet.se/abtvzwww.aftonbladet.se/tvZbtsaZfvnZapab)r
   r   r   r   r   r   a  (?x)
                    (?:https?://(?:www\.)?
                    (?P<host>
                        {}
                    )
                    /?
                    (?:
                        (?:\#!/)?(?:video|live)/|
                        embed?.*id=|
                        a(?:rticles)?/
                    )|
                    (?P<appname>
                        {}
                    ):)
                    (?P<id>\d+)
                    |z?http://www.vgtv.no/#!/video/84196/hevnen-er-soet-episode-10-abuZ b8be7a234cebb840c0d512c78013e02fZ84196mp4u    Hevnen er søt: Episode 10 - Abuz$md5:e25e4badb5f544b04341e14abdc72234re:^https?://.*\.jpgg     @@iSZ20140706	idexttitledescription	thumbnailduration	timestampupload_date
view_counturlmd5	info_dictzHhttp://www.vgtv.no/#!/live/100764/opptak-vgtv-foelger-em-kvalifiseringenZ100764Zflvu'   OPPTAK: VGTV følger EM-kvalifiseringenz$md5:3772d9c0dc2dff92a886b60039a7d4d3g    @iHTZ20140907Zskip_downloadTzVideo is no longer available)r    r"   paramsskipz:http://www.vgtv.no/#!/live/113063/direkte-v75-fra-solvallaZ113063zV75 fra Solvalla 30.05.15z$md5:b3743425765355855f88e096acc93231ine  ixiUZ20150530)r    r"   r#   zVhttp://www.aftenposten.no/webtv/#!/video/21039/trailer-sweatshop-i-can-t-take-any-moreZ fd828cd29774a729bf4d4425fe192972Z21039u/   TRAILER: «SWEATSHOP» - I can´t take any morez$md5:21891f2b0dd7ec2f78d84a50e54f8238B   iԽuTZ20141126)r   r   r   r   r   r   r   r   )r    r!   r"   r#   z7https://tv.vg.no/video/241779/politiets-ekstremkjoering)r    Zonly_matchingz^http://www.bt.no/tv/#!/video/100250/norling-dette-er-forskjellen-paa-1-divisjon-og-eliteserienzihttp://ap.vgtv.no/webtv#!/video/111084/de-nye-bysyklene-lettere-bedre-gir-stoerre-hjul-og-feste-til-mobilzAhttp://www.vgtv.no/#!/video/127205/inside-the-mind-of-favela-funkzUhttps://tv.aftonbladet.se/video/36015/vulkanutbrott-i-rymden-nu-slapper-nasa-bildernaz,http://tv.aftonbladet.se/abtv/articles/36015z%https://www.aftonbladet.se/tv/a/36015zabtv:140026z<http://www.vgtv.no/video/84196/hevnen-er-soet-episode-10-abuc                 C   s  |  |}|d}|d}|r,| j| n|d}| j| }| d| d| d| d|d}|d	d
krtd| ddddg i}t|dkr|dkr| d|}|d }	|d}
|
dk}g }|	d}|r|	| j
||d|ddd |	d}|rNd}| j|d|  |ddd}|rN|D ]}|d|i || q.|	dp\g }|	d}|rx|| |D ]f}d |i}td!|}|rt|d"}|t|d#t|d$|d%| d& || q||d 	| |d sBt|d'd( t}|rBd)|krB| j|d*d+ d,d-  gd.|||d/ |d0 |d1 d2 d3 |d4 t|d5 d6|d7 |d8 |S )9Nr   hostappnamezhttp://svp.vg.no/svp/api/v1/z/assets/z	?appName=z-websitezDownloading media JSONstatusZinactivezVideo z is no longer availableT)expectedformats   r   ZbtnoZ
streamUrlsZ
streamTypeliveZhlsr   F)r,   Zm3u8_idfatalZhdszhdcore=3.7.0?)Zf4m_idr-   Zextra_param_to_segment_urlZpseudostreamingr    z(\d+)_(\d+)_(\d+)   r   r   zmp4-)widthheighttbrZ	format_idc                 S   s   | d d S )NZstreamConfiguration
properties )xr4   r4   9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/vgtv.py<lambda>       z&VGTVIE._real_extract.<locals>.<lambda>Z
geoblocked./r   )Z	countriesr   r   Zimagesmainz?t[]=900x506q80Z	publishedr   i  Zdisplays)r   r   r   r   r   r   r   is_live)Z_match_valid_urlgroup_HOST_TO_APPNAME_APP_NAME_TO_VENDORZ_download_jsongetr   lenZ_extract_video_infoextendZ_extract_m3u8_formatsZ_extract_f4m_formatsupdateappendresearchintr   listZraise_geo_restricted
rpartition	partitionupperr   )selfr    Zmobjvideo_idr&   r'   vendordatainfoZstreamsZstream_typer=   r*   Zhls_urlZhds_urlZhdcore_signZf4m_formatsentryZmp4_urlsZmp4_urlformat_infor2   r3   r4   r4   r6   _real_extract   s    



 
  

     
   

 
  
zVGTVIE._real_extractN)__name__
__module____qualname__IE_DESCZ_GEO_BYPASSr?   r@   formatjoinkeys
_VALID_URLrH   _TESTSrT   r4   r4   r4   r6   r	      s   	    qr	   c                   @   s@   e Zd ZdZdZdZdddddd	d
ddded	dZdd ZdS )BTArticleIEz
bt:articlezBergens Tidende Articlesz<https?://(?:www\.)?bt\.no/(?:[^/]+/)+(?P<id>[^/]+)-\d+\.htmlzChttp://www.bt.no/nyheter/lokalt/Kjemper-for-internatet-1788214.htmlZ 2acbe8ad129b3469d5ae51b1158878dfZ23199r   zAlrekstad internatz$md5:dc81a9056c874fedb62fc48a300dac58r      iLZ20101117r   r   c                 C   s2   |  || |}| d|d}| d| dS )Nz<video[^>]+data-id="(\d+)"zvideo idbttv:VGTV)Z_download_webpage	_match_idZ_search_regex
url_result)rM   r    ZwebpagerN   r4   r4   r6   rT     s      zBTArticleIE._real_extractN)	rU   rV   rW   IE_NAMErX   r\   rH   Z_TESTrT   r4   r4   r4   r6   r^      s"   r^   c                
   @   sV   e Zd ZdZdZdZdddddd	d
ddddddddddddddgZdd ZdS )BTVestlendingenIEzbt:vestlendingenzBergens Tidende - Vestlendingenz>https?://(?:www\.)?bt\.no/spesial/vestlendingen/#!/(?P<id>\d+)z/http://www.bt.no/spesial/vestlendingen/#!/86588Z d7d17e3337dc80de6d3a540aefbe441bZ86588ZmovzOtto Wollertsenz%Vestlendingen Otto Fredrik WollertseniICUZ20150501)r   r   r   r   r   r   z	404 Error)r    r!   r"   r$   z/http://www.bt.no/spesial/vestlendingen/#!/86255Z a2893f8632e96389f4bdf36aa9463cebZ86255u%   Du må tåle å fryse og være sultenz$md5:b8046f4d022d5830ddab04865791d063Z20150321iGhU)r   r   r   r   r   r   r   c                 C   s   |  d| | dS )Nr`   ra   )rc   rb   )rM   r    r4   r4   r6   rT   5  s    zBTVestlendingenIE._real_extractN)rU   rV   rW   rd   rX   r\   r]   rT   r4   r4   r4   r6   re     s4   re   )rF   commonr   Zxstreamr   utilsr   r   r   r	   r^   re   r4   r4   r4   r6   <module>   s    r