
    iM                     l    S SK r SSKJr  SSKJrJrJrJrJr  SSK	J
r
   " S S\5      r " S	 S
\5      rg)    N   )InfoExtractor   )determine_extint_or_noneparse_durationparse_iso8601url_or_none)traverse_objc                       \ 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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,S .S./rS- rS. r	S/r
g0)1KikaIE   zKiKA.dez=https?://(?:www\.)?kika\.de/[\w/-]+/videos/(?P<id>[a-z-]+\d+)DEzghttps://www.kika.de/logo/videos/logo-vom-dienstag-achtundzwanzig-oktober-zweitausendfuenfundzwanzig-100 4a9f6e0f9c6bfcc82394c294f186d6dbzGlogo-vom-dienstag-achtundzwanzig-oktober-zweitausendfuenfundzwanzig-100mp4z$logo! vom Dienstag, 28. Oktober 2025z$md5:4d28b92cef423bec99740ffaa3e7ec04i  ii20251028i$i)	idexttitledescriptionduration	timestampupload_datemodified_timestampmodified_date)urlmd5	info_dictz/https://www.kika.de/kaltstart/videos/video92498 e58073070acb195906c55c4ad31dceb3
video92498z7. Wo ist Leo?z$md5:fb48396a5b75068bcac1df74f1524920i  zSeason 1r   z	Episode 7   ie20231218ibe20240319zcount:1)r   r   r   r   r   seasonseason_numberepisodeepisode_numberr   r   r   r   	subtitlesz;https://www.kika.de/die-pfefferkoerner/videos/abgezogen-102 62e97961ce5343c19f0f330a1b6dd736zabgezogen-102z1. Abgezogenz$md5:42d87963364391f9f8eba8affcb30bd2i&  z	Episode 1iog20241228i3h20250908zcount:0c                 p   U R                  U5      nU R                  SU 3U5      nU R                  US   S   U5      n0 nUR                  S5      (       ao  [        UR                  S5      5      =n(       a	  USS./US'   [        UR                  S	5      5      =n(       a$  UR	                  S/ 5      R                  US
S.5        U[        U R                  XB5      5      US.[        US[        14S[        14S[        14S[        14S[        14S[        144[        4S[        14S[        14S.5      E$ )Nz.https://www.kika.de/_next-api/proxy/v1/videos/assetsr   hasSubtitlevideoSubtitlettml)r   r   de	webvttUrlvtt)r   formatsr(   r   r   datemodificationDatedurationInSecondsr   episodeNumberr$   )r   r   r   r   r   r'   r%   )	_match_id_download_jsongetr
   
setdefaultappendlist_extract_formatsr   strr	   r   r   any)selfr   video_iddocvideo_assetsr(   ttml_resourcewebvtt_resources           B/app/mltbenv/lib/python3.13/site-packages/yt_dlp/extractor/kika.py_real_extractKikaIE._real_extractM   sm   >>#&!!$RS[R\"]_gh**3x=+?J	 77=!! +L,<,<_,M NN}N(!$ #	$ #.l.>.>{.K"LLL$$T2.55* 7  D11,IJ"
 3!C5) -u5$}o6'9M?&K(;-8.!12458: $3[M"B"*[M!:
! 
	
 	
    c              #   .  #    [        USS 45       H|  nUS   n[        U5      nUS:X  a  U R                  XBSSSS9 S h  vN   M5  UUS	.[        US
[        14S[        14S[        1[        4S[        1S 14S[        1S 14S.5      Ev   M~     g  NR7f)Nr-   c                     [        US   5      $ )Nr   r
   _vs     rH   <lambda>)KikaIE._extract_formats.<locals>.<lambda>t   s    kRSTYRZF[rK   r   m3u8r   hlsF)m3u8_idfatal)r   	format_id
frameWidthframeHeightfileSizebitrateAudioc                     U S:X  a  S $ U $ N xs    rH   rR   rS          RSWYRY$J`_`J`rK   bitrateVideoc                     U S:X  a  S $ U $ r^   r`   ra   s    rH   rR   rS      rc   rK   )widthheightfilesizeabrvbr)r   r   _extract_m3u8_formatsr   filter)rB   
media_inforC   media
stream_urlr   s         rH   r?   KikaIE._extract_formatss   s     !*x9[.\]EuJ
+Cf}55%e 6 M M M &!$ #5".!>#0;-"@%/+$G .@`?ab .@`?ab+   ^Ms   >B BABr`   N)__name__
__module____qualname____firstlineno__IE_DESC
_VALID_URL_GEO_COUNTRIES_TESTSrI   r?   __static_attributes__r`   rK   rH   r   r      s    GQJVN y1[;A#%",'

	$ A1%A "#%",'"
. M1!#A "#%",'"
	I8Ft$
LrK   r   c                   :    \ rS rSrSrSSSSS.SS	./rS
 rS rSrg)KikaPlaylistIE   z5https?://(?:www\.)?kika\.de/[\w-]+/(?P<id>[a-z-]+\d+)z2https://www.kika.de/logo/logo-die-welt-und-ich-562zlogo-die-welt-und-ich-562zlogo!z$md5:7b9d7f65561b82fa512f2cfb553c397d)r   r   r   d   )r   r   playlist_countc              #   j  #    [         R                  " S5       H  nU R                  XSU 3S9n[        USS 45       HO  nU R                  " US   S   4S[
        0[        US	[        14S
[        14S[        14S[        14S.5      D6v   MQ     [        USS[        145      nU(       a  M    g    g 7f)Nr   zDownloading page )notecontentc                 $    [        US   S   5      $ )Napir   rN   rO   s     rH   rR   )KikaPlaylistIE._entries.<locals>.<lambda>   s    KPQRWPXY^P_D`rK   r   r   ier   r   r   r5   )r   r   r   r   linksnext)
	itertoolscountr:   r   
url_resultr   r@   r   r	   r
   )rB   playlist_urlplaylist_idpagedataitems         rH   _entriesKikaPlaylistIE._entries   s     OOA&D&&|IZ[_Z`Ga&bD$TI7`+abooK&+1"4#cUm")C5!1%/+$?&,}o%>	*   c (w.NOL< 's   B(B3.B3c                     U R                  U5      nU R                  SU 3U5      nU R                  U R                  US   S   U5      X#R	                  S5      UR	                  S5      S9$ )Nz.https://www.kika.de/_next-api/proxy/v1/brands/videoSubchannelvideosPageUrlr   r   )r   r   )r9   r:   playlist_resultr   r;   )rB   r   r   
brand_datas       rH   rI   KikaPlaylistIE._real_extract   sz    nnS)((<[MJKY
 ##MM*%67H+V~~g6JNNS`Da $ c 	crK   r`   N)	rq   rr   rs   rt   rv   rx   r   rI   ry   r`   rK   rH   r{   r{      s7    IJ D-A

  F"crK   r{   )r   commonr   utilsr   r   r   r	   r
   utils.traversalr   r   r{   r`   rK   rH   <module>r      s7     !  +x] xv%c] %crK   