
    V|hR*                     z    S SK r SSKJr  SSKJr  SSKJrJrJr   " S S\5      r	 " S	 S
\5      r
 " S S\5      rg)    N   )InfoExtractor)	XstreamIE   )ExtractorErrorfloat_or_nonetry_getc                      \ rS rSrSrSrSSSSSSSS	S	S	S
.
rSSSSSSS.rSR                  SR                  \R                  5       5      SR                  \R                  5       5      5      rSSSSSSSSSS\S.	S.SS S!S"S#SS$S%S&\S.	S'S(0S)S*.S+S,SS-S.SS/S0S1\S.	S'S(0S2.S3S4S5SS6S7S8S9S:\S;.S'S(0S<.S=S(S>.S?S(S>.S@S(S>.SAS(S>.SBS(S>.SCS(S>.SDS(S>.SES(S>.SFS(S>./rSG rSHrgI)JVGTVIE   z,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   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-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+   r0   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+   r0   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                 b   U R                  U5      nUR                  S5      nUR                  S5      nU(       a  U R                  U   OUR                  S5      nU R                  U   nU R	                  SU SU SU S3US5      nUR                  S	5      S
:X  a  [        SU S3SS9eS/ 0n[        U5      S:X  a  US:X  a  U R                  SU5      nUS   n	UR                  S5      n
U
S:H  n/ nU	R                  S5      nU(       a"  UR                  U R                  XSUSSS95        U	R                  S5      nU(       aN  SnU R                  USU 3-   USSS9nU(       a-  U H'  nUR                  SU05        UR                  U5        M)     U	R                  S5      =(       d    / nU	R                  S5      nU(       a  UR                  U5        U H  nS U0n[        R                  " S!U5      nU(       ac  [!        UR                  S"5      5      nUR                  [!        UR                  S#5      5      [!        UR                  S$5      5      US%U 3S&.5        UR                  U5        M     US   R                  U5        US   (       da  [#        US' [$        5      nU(       aH  S(U;   aB  U R'                  UR)                  S)5      S*   R+                  S+5      S,   R-                  5       /S-9eUR                  UUS.   US/   US0   S1   S2-   US3   [/        US4   S55      US6   US7.5        U$ )8Nr   hostappnamezhttp://svp.vg.no/svp/api/v1/z/assets/z	?appName=z-websitezDownloading media JSONstatusinactivezVideo z is no longer availableT)expectedformats   r   btno
streamUrls
streamTypelivehlsr   F)rD   m3u8_idfatalhdszhdcore=3.7.0?)f4m_idrG   extra_param_to_segment_urlpseudostreamingr)   z(\d+)_(\d+)_(\d+)   r   r   zmp4-)widthheighttbr	format_idc                     U S   S   $ )NstreamConfiguration
properties )xs    O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/vgtv.py<lambda>&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_idr:   r;   vendordatainfostreamsstream_typerd   r?   hls_urlhds_urlhdcore_signf4m_formatsentrymp4_urlsmp4_urlformat_inforP   rT   s                          rW   _real_extractVGTVIE._real_extract   s_   $$S)::d#zz&!15$''-4::i;P))'2""*6((8*IgYV^_.0 88H+ 
"9:TK K r
 x=A& //A|$hh|,'++e$NN4555wU 6 T U ++e$(K33Ak]++Xe5 4 RK(ELL">!LMNN5) )
 ;;017R++e$OOG$GwK 9917;D$**Q-("" A/!$**Q-0#'u	$  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*	
 		 rZ   rU   N)__name__
__module____qualname____firstlineno__IE_DESC_GEO_BYPASSrg   rh   formatjoinkeys
_VALID_URLrt   _TESTSr   __static_attributes__rU   rZ   rW   r   r      s   <GK # &"#"(!'  sxx(8(=(=(?@#((K^KcKcKeBfg ( 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QrZ   r   c                   F    \ rS rSrSrSrSrSSSSS	S
SSSS\S.	S.rS r	Sr
g)BTArticleIE   z
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                     U R                  XR                  U5      5      nU R                  SUS5      nU R                  SU 3S5      $ )Nz<video[^>]+data-id="(\d+)"zvideo idbttv:VGTV)_download_webpage	_match_id_search_regex
url_result)rz   r)   webpager|   s       rW   r   BTArticleIE._real_extract  sK    ((nnS.AB%%)7J@xj16::rZ   rU   N)r   r   r   r   IE_NAMEr   r   rt   _TESTr   r   rU   rZ   rW   r   r      sC    G(GPJT1)A0#%

E ;rZ   r   c            
       \    \ rS rSrSrSrSrSSSSS	S
SSS.SS.SSSSSSSSS.S./rS rSr	g)BTVestlendingenIEi  z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+   r1   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    U R                  SU R                  U5       3S5      $ )Nr   r   )r   r   )rz   r)   s     rW   r   BTVestlendingenIE._real_extract5  s$    t~~c':&;<fEErZ   rU   N)
r   r   r   r   r   r   r   r   r   r   rU   rZ   rW   r   r     sj     G/GRJ@1&B#%
  A1<A%#
F2FrZ   r   )rr   commonr   xstreamr   utilsr   r   r	   r   r   r   rU   rZ   rW   <module>r      sA    	 !  nY nb;- ;6F FrZ   