
    yfl*                     z    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e      Z	 G d	 d
e      Z
 G d de      Zy)    N   )InfoExtractor)	XstreamIE   )ExtractorErrorfloat_or_nonetry_getc                      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j                  ej                               ddj                  ej                               d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d0d1d2e
d	d(d)id3d4d5d6dd7d8d9d:d;e
d<d(d)id=d>d)d?d@d)d?dAd)d?dBd)d?dCd)d?dDd)d?dEd)d?dFd)d?dGd)d?gZdH ZyI)J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/tvbtsafvnapab)r   r   r   r   r   r   zf(?x)
                    (?:https?://(?:www\.)?
                    (?P<host>
                        |a  
                    )
                    /?
                    (?:
                        (?:\#!/)?(?:video|live)/|
                        embed?.*id=|
                        a(?:rticles)?/
                    )|
                    (?P<appname>
                        zM
                    ):)
                    (?P<id>\d+)
                    z?http://www.vgtv.no/#!/video/84196/hevnen-er-soet-episode-10-abu b8be7a234cebb840c0d512c78013e02f84196mp4u    Hevnen er søt: Episode 10 - Abuz$md5:e25e4badb5f544b04341e14abdc72234re:^https?://.*\.jpgg     @@iS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-kvalifiseringen100764flvu'   OPPTAK: VGTV følger EM-kvalifiseringenz$md5:3772d9c0dc2dff92a886b60039a7d4d3g    @iHT20140907skip_downloadTzVideo is no longer available)r(   r*   paramsskipz:http://www.vgtv.no/#!/live/113063/direkte-v75-fra-solvalla113063zV75 fra Solvalla 30.05.15z$md5:b3743425765355855f88e096acc93231ine  ixiU20150530)r(   r*   r/   zVhttp://www.aftenposten.no/webtv/#!/video/21039/trailer-sweatshop-i-can-t-take-any-more fd828cd29774a729bf4d4425fe19297221039u/   TRAILER: «SWEATSHOP» - I can´t take any morez$md5:21891f2b0dd7ec2f78d84a50e54f8238B   iԽuT20141126)r   r   r    r!   r#   r$   r%   r&   )r(   r)   r*   r/   z7https://tv.vg.no/video/241779/politiets-ekstremkjoering)r(   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                    | j                  |      }|j                  d      }|j                  d      }|r| j                  |   n|j                  d      }| j                  |   }| j	                  d|d|d|d|d      }|j                  d	      d
k(  rt        d|z  d      dg i}t        |      dk(  r|dk(  r| j                  d|      }|d   }	|j                  d      }
|
dk(  }g }|	j                  d      }|r&|j                  | j                  ||d|dd             |	j                  d      }|rJd}| j                  |d|z  z   |dd      }|r+|D ]&  }|j                  d|i       |j                  |       ( |	j                  d      xs g }|	j                  d      }|r|j                  |       |D ]  }d|i}t        j                  d |      }|rct!        |j                  d!            }|j                  t!        |j                  d"            t!        |j                  d#            |d$|z  d%       |j                  |        |d   j                  |       |d   s]t#        |d& t$              }|rId'|v rE| j'                  |j)                  d(      d)   j+                  d*      d+   j-                         g,      |j                  ||d-   |d.   |d/   d0   d1z   |d2   t/        |d3   d4      |d5   |d6       |S )7Nr   hostappnamezhttp://svp.vg.no/svp/api/v1/z/assets/z	?appName=z-websitezDownloading media JSONstatusinactivezVideo %s is no longer availableT)expectedformats   r   btno
streamUrls
streamTypelivehlsr   F)rC   m3u8_idfatalhdszhdcore=3.7.0z?%s)f4m_idrF   extra_param_to_segment_urlpseudostreamingr(   z(\d+)_(\d+)_(\d+)   r   r   zmp4-%s)widthheighttbr	format_idc                     | d   d   S )NstreamConfiguration
properties )xs    7/usr/lib/python3/dist-packages/yt_dlp/extractor/vgtv.py<lambda>z&VGTVIE._real_extract.<locals>.<lambda>   s    "7 8 F     
geoblocked./r   )	countriesr    r!   imagesmainz?t[]=900x506q80	publishedr#   i  displays)r   r    r!   r"   r$   r#   r&   is_live)_match_valid_urlgroup_HOST_TO_APPNAME_APP_NAME_TO_VENDOR_download_jsongetr   len_extract_video_infoextend_extract_m3u8_formats_extract_f4m_formatsupdateappendresearchintr	   listraise_geo_restricted
rpartition	partitionupperr   )selfr(   mobjvideo_idr9   r:   vendordatainfostreamsstream_typera   r>   hls_urlhds_urlhdcore_signf4m_formatsentrymp4_urlsmp4_urlformat_inforN   rR   s                          rU   _real_extractzVGTVIE._real_extract   sU   $$S)::d#zz&!15$''-4::i;P))'2""x*.0
 88H+ 1H<tM M r
 x=A& //A|$hh|,'++e$NN4555wU 6 T U ++e$(K33%+--xU 4 TK( *ELL">!LMNN5)*
 ;;017R++e$OOG$ 	(GwK 9917;D$**Q-("" A/!$**Q-0!)C	$  NN;'	( 	Yw'I FNJlj8//#s3B7AA#FqIOOQR 0 T T 	'].h/2CCk*%d:&6=z*	
 		 rW   N)__name__
__module____qualname__IE_DESC_GEO_BYPASSrd   re   joinkeys
_VALID_URLrq   _TESTSr   rS   rW   rU   r   r      s   <GK # &"#"(!' 0 88$4$9$9$;<chhGZG_G_Ga>bdJ( U5;E4#')!
		
$ ^BE4"')!
   3%	
, P4E4!')!
  	
( l5JE')!	  	
& M!	

 t!	

 !	
 W!	
 k!	

 B!	

 ;!	

 !!	

 R!	
WoFbRrW   r   c                   >    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 Zy)BTArticleIEz
bt:articlezBergens Tidende Articlesz<https?://(?:www\.)?bt\.no/(?:[^/]+/)+(?P<id>[^/]+)-\d+\.htmlzChttp://www.bt.no/nyheter/lokalt/Kjemper-for-internatet-1788214.html 2acbe8ad129b3469d5ae51b1158878df23199r   zAlrekstad internatz$md5:dc81a9056c874fedb62fc48a300dac58r      iL20101117r   r'   c                     | j                  || j                  |            }| j                  d|d      }| j                  d|z  d      S )Nz<video[^>]+data-id="(\d+)"zvideo idbttv:%sVGTV)_download_webpage	_match_id_search_regex
url_result)rw   r(   webpagery   s       rU   r   zBTArticleIE._real_extract  sK    ((dnnS.AB%%)7J@y83V<<rW   N)	r   r   r   IE_NAMEr   r   rq   _TESTr   rS   rW   rU   r   r      sC    G(GPJT1)A0#%

E =rW   r   c            
       T    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 Zy)BTVestlendingenIEzbt:vestlendingenzBergens Tidende - Vestlendingenz>https?://(?:www\.)?bt\.no/spesial/vestlendingen/#!/(?P<id>\d+)z/http://www.bt.no/spesial/vestlendingen/#!/86588 d7d17e3337dc80de6d3a540aefbe441b86588movzOtto Wollertsenz%Vestlendingen Otto Fredrik WollertseniICU20150501)r   r   r    r!   r$   r%   z	404 Error)r(   r)   r*   r0   z/http://www.bt.no/spesial/vestlendingen/#!/86255 a2893f8632e96389f4bdf36aa9463ceb86255u%   Du må tåle å fryse og være sultenz$md5:b8046f4d022d5830ddab04865791d06320150321iGhU)r   r   r    r!   r%   r$   r'   c                 J    | j                  d| j                  |      z  d      S )Nr   r   )r   r   )rw   r(   s     rU   r   zBTVestlendingenIE._real_extract6  s!    y4>>#+>>GGrW   N)r   r   r   r   r   r   r   r   rS   rW   rU   r   r     sj     G/GRJ@1&B#%
  A1<A%#
F2HrW   r   )ro   commonr   xstreamr   utilsr   r   r	   r   r   r   rS   rW   rU   <module>r      sA    	 !  oY od=- =6H HrW   