
    V|h&                     `    S SK Jr  SSKJrJrJrJrJrJrJ	r	   " S S\5      r
 " S S\5      rg)	   )InfoExtractor   )ExtractorErrorfloat_or_noneint_or_nonejoin_nonemptyparse_iso8601	qualitiestry_getc                   T    \ rS rSrSrSrS/rSSSSS	S
.rSSSSSS.rS r	S r
S rSrg)SRGSSRIE   a  (?x)
                    (?:
                        https?://tp\.srgssr\.ch/p(?:/[^/]+)+\?urn=urn|
                        srgssr
                    ):
                    (?P<bu>
                        srf|rts|rsi|rtr|swi
                    ):(?:[^:]+:)?
                    (?P<type>
                        video|audio
                    ):
                    (?P<id>
                        [0-9a-f\-]{36}|\d+
                    )
                    FCHz_To protect children under the age of 12, this video is only available between 8 p.m. and 6 a.m.z`To protect children under the age of 18, this video is only available between 11 p.m. and 5 a.m.z?For legal reasons, this video is only available in Switzerland.z2The video cannot be transmitted for legal reasons.z8This video is not yet available. Please try again later.)AGERATING12AGERATING18GEOBLOCKLEGAL	STARTDATEdefritrmen)srfrtsrsirtrswic                     U R                  SUSU S3SS9=(       d    0 n[        US 5      nU(       a  USU;  a  SOSU-   -  nU$ )	Nz%http://tp.srgssr.ch/akahd/token?acl=*zDownloading z tokenF)fatalc                     U S   S   $ )Ntoken
authparams )xs    Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/srgssr.py<lambda>-SRGSSRIE._get_tokenized_src.<locals>.<lambda>4   s    qz,/G    ?&)_download_jsonr   )selfurlvideo_id	format_idr"   auth_paramss         r&   _get_tokenized_srcSRGSSRIE._get_tokenized_src0   se    ##3YKv6e $ E KHJ 	 e%GH3c>CskAAC
r)   c           	        ^ US:X  a  SS0O0 nU R                  SU SU ST S3TUS9S	   n [        U4S
 jU 5       5      nUR	                  S5      nU(       aV  XpR
                  ;   aG  U R
                  U   nUS:X  a  U R                  XR                  S9  [        U R                   SU 3SS9eU$ ! [         a    [        S5      ef = f)NvideoonlyChaptersTz*https://il.srgssr.ch/integrationlayer/2.0/z/mediaComposition//z.json)querychapterListc              3   T   >#    U  H  oR                  S 5      T:X  d  M  Uv   M     g7f)idN)get).0r%   media_ids     r&   	<genexpr>+SRGSSRIE._get_media_data.<locals>.<genexpr>?   s$      G*aeeDkX.E?s   (	(zNo media information foundblockReasonr   )msg	countriesz said: )expected)	r,   nextStopIterationr   r<   _ERRORSraise_geo_restricted_GEO_COUNTRIESIE_NAME)	r-   bu
media_typer>   r8   full_media_data
media_datablock_reasonmessages	      `     r&   _get_media_dataSRGSSRIE._get_media_data9   s   *4*?&R--8<NzlZ[\d[eejkE . ##02	? G*G GJ
 "~~m4LLL8ll<0Gz)))+>+> * @ <<.y1DB B   	? !=>>	?s   B2 2Cc           
         U R                  U5      R                  5       u  p#nU R                  X#U5      nUS   n/ n0 n[        SS/5      n	UR	                  S5      =(       d    /  GH*  n
U
R	                  S5      nU(       d  M  U
R	                  S5      nU
R	                  S5      n[        XR	                  S5      U5      nUS	;   a  U
R	                  S
5      S:X  aK  U R                  XU5      nU R                  X5      u  nnUR                  U5        U R                  UU5      nM  US:X  a<  U R                  XSSUSS9u  nnUR                  U5        U R                  UU5      nGM  GM  US;   d  GM  UR                  UUU	" U5      S.5        GM-     [        UR	                  S5      5      S:X  aJ  S HD  nUR	                  SU S35      nU(       d  M!  US-   nUR                  SU-   UU	" U5      S.5        MF     US:X  a  UR	                  S5      =(       d    /  Hg  nUR	                  S5      nU(       d  M  UR	                  S5      =(       d    U R                  U   nUR                  U/ 5      R                  SU05        Mi     UUUR	                  S5      [        UR	                  S5      5      UR	                  S5      [!        UR	                  S 5      S!5      UUS".$ )#NtitleSDHDresourceListr.   protocolqualityencoding)HDSHLS	tokenTypeAKAMAIr\   mp4m3u8_nativeF)m3u8_idr    )HTTPHTTPS)r0   r.   rY   position    )SHpodcastdUrlDzPODCAST-r5   subtitleListlocaledescriptiondateimageUrldurationi  )r;   rT   rm   	timestamp	thumbnailrp   	subtitlesformats)_match_valid_urlgroupsrQ   r
   r<   r   r2   %_extract_akamai_formats_and_subtitlesextend_merge_subtitles#_extract_m3u8_formats_and_subtitlesappendr   _DEFAULT_LANGUAGE_CODES
setdefaultr	   r   )r-   r.   rK   rL   r>   rN   rT   rt   rs   qsource
format_urlrX   rY   r0   fmtssubs	m3u8_fmts	m3u8_subsppodcast_urlsubsub_urllangs                           r&   _real_extractSRGSSRIE._real_extractO   s   #'#8#8#=#D#D#F ))"(C
7#	tTl#!~~n5;;FE*Jzz*-Hjj+G%h

:0FPI>)::k*h6!%!8!8"i"9J!%!K!K"".JD$NN4( $ 5 5i FI&+/+S+S"e] ) ,T ,8(Iy NN9- $ 5 5i KI ' ..!*% z  / <@ z~~j12a7(nnwqc->?"c'!+g!5& z      "~6<"<''%.wwx(LD,H,H,L$$T2.5577  = %>>-8&z~~f'=>#
3%jnnZ&@$G"	
 		
r)   r$   N)__name__
__module____qualname____firstlineno__
_VALID_URL_GEO_BYPASSrI   rG   r|   r2   rQ   r   __static_attributes__r$   r)   r&   r   r      sY    J KVN yyUEOG ,G
r)   r   c                       \ 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S0S.SSSSSSSS S!S"S#.SS0S$.S%S&SS'S(S)S*S+S,S-S..	SS0S.S/SS0.S1SS0.S2SS0.S3SS0./rS4 rS5rg6)7SRGSSRPlayIE   z:srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sitesa  (?x)
                    https?://
                        (?:(?:www|play)\.)?
                        (?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/
                        (?:
                            [^/]+/(?P<type>video|audio)/[^?]+|
                            popup(?P<type_2>video|audio)player
                        )
                        \?.*?\b(?:id=|urn=urn:[^:]+:video:)(?P<id>[0-9a-f\-]{36}|\d+)
                    zrhttp://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?id=28e1a57d-5b76-4399-8ab3-9097f071e6c5 6db2226ba97f62ad42ce09783680046cz$28e1a57d-5b76-4399-8ab3-9097f071e6c5r_   20130701z"Snowden beantragt Asyl in RusslandiwQgrht\@zre:^https?://.*1383719781\.png$)r;   extupload_daterT   rq   rp   rr   zUnable to download f4m manifest)r.   md5	info_dictexpected_warningszhttp://www.rtr.ch/play/radio/actualitad/audio/saira-tujetsch-tuttina-cuntinuar-cun-sedrun-muster-turissem?id=63cb0778-27f8-49af-9284-8c7a8c6d15fcz$63cb0778-27f8-49af-9284-8c7a8c6d15fcmp320151013u?   Saira: Tujetsch - tuttina cuntinuar cun Sedrun Mustér Turissemi(VgVu@)r;   r   r   rT   rq   rp   skip_downloadT)r.   r   paramsz5http://www.rts.ch/play/tv/-/video/le-19h30?id=6348260 67a2a9ae4e8e62a68d0e9820cc9782df6348260gףp=
@zLe 19h3020141201i|Tzre:^https?://.*\.image)r;   
display_idr   rp   rT   r   rq   rr   )r.   r   r   r   z_http://play.swissinfo.ch/play/tv/business/video/why-people-were-against-tax-reforms?id=4296027042960270z#Why people were against tax reformsz$md5:7ac442c558e9630e947427469c4b824dg     W@20170215iwXz8re:https?://www\.swissinfo\.ch/srgscalableimage/42961964zcount:9)	r;   r   rT   rm   rp   r   rq   rr   rs   zShttps://www.srf.ch/play/tv/popupvideoplayer?id=c4dba0ca-e75b-43b2-a34f-f708a4932e01)r.   only_matchingzhttps://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?urn=urn:srf:video:28e1a57d-5b76-4399-8ab3-9097f071e6c5zIhttps://www.rts.ch/play/tv/19h30/video/le-19h30?urn=urn:rts:video:6348260zVhttps://www.srf.ch/play/radio/popupaudioplayer?id=50b20dc8-f05b-4972-bf03-e438ff2833ebc                     U R                  U5      nUR                  S5      nUR                  S5      =(       d    UR                  S5      nUR                  S5      nU R                  SUS S  SU SU 3S5      $ )	NrK   typetype_2r;   zsrgssr:   :SRGSSR)ru   group
url_result)r-   r.   mobjrK   rL   r>   s         r&   r   SRGSSRPlayIE._real_extract   st    $$S)ZZZZ'?4::h+?
::d#BQ*QxjI8TTr)   r$   N)	r   r   r   r   IE_DESCr   _TESTSr   r   r$   r)   r&   r   r      s#   JG	J D18%9#;
 @@ c8%V#
 T
 G1#%#2	
 T
$ q:A%#T"

 T
" e T [
 hKIFVUr)   r   N)commonr   utilsr   r   r   r   r	   r
   r   r   r   r$   r)   r&   <module>r      s6    !  I
} I
X]U= ]Ur)   