
    VGhR*                     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j                  dj                  ej                               dj                  ej                                     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dF ZyG)H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   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*   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| d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   |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%| d&       |j                  |        |d   j                  |       |d   s]t#        |d' t$              }|rId(|v rE| j'                  |j)                  d)      d*   j+                  d+      d,   j-                         g-      |j                  ||d.   |d/   |d0   d1   d2z   |d3   t/        |d4   d5      |d6   |d7       |S )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)rC   m3u8_idfatalhdszhdcore=3.7.0?)f4m_idrF   extra_param_to_segment_urlpseudostreamingr(   z(\d+)_(\d+)_(\d+)   r   r   zmp4-)widthheighttbr	format_idc                     | d   d   S )NstreamConfiguration
properties )xs    ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-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_typerb   r>   hls_urlhds_urlhdcore_signf4m_formatsentrymp4_urlsmp4_urlformat_inforO   rS   s                          rV   _real_extractzVGTVIE._real_extract   sk   $$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*	
 		 rX   N)__name__
__module____qualname__IE_DESC_GEO_BYPASSre   rf   formatjoinkeys
_VALID_URLrr   _TESTSr   rT   rX   rV   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rX   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| d      S )Nz<video[^>]+data-id="(\d+)"zvideo idbttv:VGTV)_download_webpage	_match_id_search_regex
url_result)rx   r(   webpagerz   s       rV   r   zBTArticleIE._real_extract  sM    ((dnnS.AB%%)7J@xj16::rX   N)	r   r   r   IE_NAMEr   r   rr   _TESTr   rT   rX   rV   r   r      sC    G(GPJT1)A0#%

E ;rX   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                  |       d      S )Nr   r   )r   r   )rx   r(   s     rV   r   zBTVestlendingenIE._real_extract5  s$    t~~c':&;<fEErX   N)r   r   r   r   r   r   r   r   rT   rX   rV   r   r     sj     G/GRJ@1&B#%
  A1<A%#
F2FrX   r   )rp   commonr   xstreamr   utilsr   r   r	   r   r   r   rT   rX   rV   <module>r      sA    	 !  nY nb;- ;6F FrX   