
    V|hB                     |    S SK r 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K
JrJr   " S S	\5      r " S
 S\5      rg)    N   )InfoExtractor)JWPlatformIE   )determine_ext
js_to_jsonurl_or_none)find_elementtraverse_objc                       \ 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SS0SS.SSS0SS.SSS.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')(TV2DKIE   a  (?x)
                    https?://
                        (?:www\.)?
                        (?:
                            tvsyd|
                            tv2ostjylland|
                            tvmidtvest|
                            tv2fyn|
                            tv2east|
                            tv2lorry|
                            tv2nord|
                            tv2kosmopol
                        )\.dk/
                        (?:[^/?#]+/)*
                        (?P<id>[^/?\#&]+)
                    zOhttps://www.tvsyd.dk/nyheder/28-10-2019/1930/1930-28-okt-2019?autoplay=1#playersPp5z21qmp4z19:30 - 28. okt. 2019 z?https://cdn.jwplayer.com/v2/media/sPp5z21q/poster.jpg?width=720i3]20191028)idexttitledescription	thumbnail	timestampupload_date)url	info_dictzAhttps://www.tv2lorry.dk/gadekamp/gadekamp-6-hoejhuse-i-koebenhavnoD9cyq0mu#   Gadekamp #6 - Højhuse i Københavnz?https://cdn.jwplayer.com/v2/media/oD9cyq0m/poster.jpg?width=720ixpya20211027z~https://www.tvsyd.dk/haderslev/x-factor-brodre-fulde-af-selvtillid-er-igen-hjemme-hos-mor-vores-diagnoser-har-vaeret-en-fordelr   z_x-factor-brodre-fulde-af-selvtillid-er-igen-hjemme-hos-mor-vores-diagnoser-har-vaeret-en-fordelr   )r   r   playlist_countzEhttps://www.tv2ostjylland.dk/aarhus/dom-kan-fa-alvorlige-konsekvenserz!dom-kan-fa-alvorlige-konsekvenser   zRhttps://www.tv2ostjylland.dk/artikel/minister-gaar-ind-i-sag-om-diabetes-teknologiT)r   only_matchingzlhttps://www.tv2ostjylland.dk/nyheder/28-10-2019/22/2200-nyhederne-mandag-d-28-oktober-2019?autoplay=1#playerzBhttps://www.tvmidtvest.dk/nyheder/27-10-2019/1930/1930-27-okt-2019zYhttps://www.tv2fyn.dk/artikel/fyn-kan-faa-landets-foerste-fabrik-til-groent-jetbraendstofzmhttps://www.tv2east.dk/artikel/gods-faar-indleveret-tonsvis-af-aebler-100-kilo-aebler-gaar-til-en-aeblebrandyzYhttps://www.tv2lorry.dk/koebenhavn/rasmus-paludan-evakueret-til-egen-demonstration#playerz0https://www.tv2nord.dk/artikel/dybt-uacceptabeltzwhttps://www.tv2kosmopol.dk/metropolen/chaufforer-beordres-til-at-kore-videre-i-ulovlige-busser-med-rode-advarselslamperc                 *   U R                  U5      nU R                  X5      n[        U[        SS915      =(       d    Un[        [        R
                  " SU5      S[        1[        R                  1S[        145      nU R                  XRS [        S9$ )Narticle)tagz1x-data="(?:video_player|simple_player)\(({[^"]+}).)
jwpMediaIdvideoIdc                     SU  3$ )Nzjwplatform: )xs    P/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/tv2dk.py<lambda>'TV2DKIE._real_extract.<locals>.<lambda>e   s    [3D    )getterie)	_match_id_download_webpager   r
   refindallr   jsonloadsstrplaylist_from_matchesr   )selfr   video_idwebpagesearch_space
player_idss         r)   _real_extractTV2DKIE._real_extract[   s    >>#&((7#Gly.I-JKVw!JJK\Z:,.G#OQ
 )))D * W 	Wr,   r'   N)__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr<   __static_attributes__r'   r,   r)   r   r      s   J" a,Z#%
 S:Z#%
 Ps
  W5
  d ~ T k  k B Io:Fx
Wr,   r   c                   6    \ rS rSrSrSSSSS.SS	0S
.rS rSrg)TV2DKBornholmPlayIEh   z4https?://play\.tv2bornholm\.dk/\?.*?\bid=(?P<id>\d+)z5http://play.tv2bornholm.dk/?area=specifikTV&id=781021781021r   z12Nyheder-27.11.19)r   r   r   skip_downloadT)r   r   paramsc                    U R                  U5      nU R                  SU[        R                  " USS.5      R	                  5       SSS.S9S   nU R                  S	US
SS9nU R                  U R                  SUS5      U[        5      n/ n[        5       nU H  n[        UR                  S5      5      n	U	(       d  M&  X;   a  M-  UR                  U	5        [        U	5      n
UR                  S5      nUS:X  d  U
S:X  a$  UR                  U R                  XSSSSS95        M  US:X  d  U
S:X  a"  UR                  U R                  XSSS95        M  UR!                  SU	05        M     UUUS.$ )Nz<https://play.tv2bornholm.dk/controls/AJAX.aspx/specifikVideor   )playlist_id	serienavnXMLHttpRequestzapplication/json; charset=UTF-8)zX-Requested-WithzContent-Type)dataheadersdz,title\s*:\s*(["\'])(?P<value>(?:(?!\1).)+)\1r   value)groupz(?s)sources:\s*(\[.+?\]),sourcessrctypezapplication/x-mpegurlm3u8r   m3u8_nativehlsF)r   entry_protocolm3u8_idfatalzapplication/dash+xmlmpddash)mpd_idr\   r   )r   r   formats)r/   _download_jsonr3   dumpsencode_search_regex_parse_jsonr   setr	   getaddr   extend_extract_m3u8_formats_extract_mpd_formatsappend)r7   r   r8   videor   rT   r`   srcssourcerU   r   src_types               r)   r<   !TV2DKBornholmPlayIE._real_extractv   s   >>#&##JH'  vx$4 A" $   "";UG #  ""4#5#5(%$<j" uFfjj/0C{HHSM$Czz&)H22cVmt99u]!  :  0 1 33se|t88&  9  ? @ 3  # , 
 	
r,   r'   N)r>   r?   r@   rA   rB   _TESTr<   rD   r'   r,   r)   rF   rF   h   s0    HJF)
 T

E0
r,   rF   )r3   r1   commonr   
jwplatformr   utilsr   r   r	   utils.traversalr
   r   r   rF   r'   r,   r)   <module>rw      s=     	 ! $ 
 9WWm WWt>
- >
r,   