
    V|h                     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/.S./rS0 rS1 r	S2r
g3)4KikaIE   zKiKA.dez=https?://(?:www\.)?kika\.de/[\w/-]+/videos/(?P<id>[a-z-]+\d+)DEzdhttps://www.kika.de/logo/videos/logo-vom-samstag-einunddreissig-august-zweitausendvierundzwanzig-100 fbfc8da483719ef06f396e5e5b938c69zDlogo-vom-samstag-einunddreissig-august-zweitausendvierundzwanzig-100mp420240831iWfi  zEpisode 476i  zSeason 2024iz  z"logo! vom Samstag, 31. August 2024idf)idextupload_date	timestampseason_numbermodified_dateepisodeepisode_numberseasondurationtitlemodified_timestamp)urlmd5	info_dictz/https://www.kika.de/kaltstart/videos/video92498 710ece827e5055094afeb474beacb7aa
video92498z7. Wo ist Leo?z$md5:fb48396a5b75068bcac1df74f1524920i  ie20231218   20240319ibez	Episode 7r   zSeason 1)r   r   r   descriptionr   r   r   r   r   r   r   r   r   z>https://www.kika.de/bernd-das-brot/astrobrot/videos/video90088 ffd1b700d7de0a6616a1d08544c77294
video9008820221102it\bc   i8e   z*Es ist nicht leicht, ein Astrobrot zu sein20240322z$md5:d3641deaf1b5515a160788b2be4159a9z	Episode 8)r   r   r   r   r   r   r   r   r   r'   r   r   r   c                 D   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      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   videoSubtitlettml)r   r   de	webvttUrlvtt)r   formats	subtitlesr   r'   datemodificationDatedurationInSecondsr   episodeNumberr   )r   r'   r   r   r   r   r   )	_match_id_download_jsonr
   get
setdefaultappendlist_extract_formatsr   strr	   r   r   any)selfr   video_iddocvideo_assetsr6   ttml_resourcewebvtt_resources           O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/kika.py_real_extractKikaIE._real_extractJ   s\   >>#&!!$RS[R\"]_gh**3x=+?J	'(8(8(IJJ=J$  IdO *,*:*:;*GHH?H  r*11&3  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     rJ   <lambda>)KikaIE._extract_formats.<locals>.<lambda>n   s    kRSTYRZF[rM   r   m3u8r   hlsF)m3u8_idfatal)r   	format_id
frameWidthframeHeightfileSizebitrateAudioc                     U S:X  a  S $ U $ N xs    rJ   rT   rU   }       RSWYRY$J`_`J`rM   bitrateVideoc                     U S:X  a  S $ U $ r`   rb   rc   s    rJ   rT   rU   ~   re   rM   )widthheightfilesizeabrvbr)r   r   _extract_m3u8_formatsr   filter)rD   
media_inforE   media
stream_urlr   s         rJ   rA   KikaIE._extract_formatsm   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rb   N)__name__
__module____qualname____firstlineno__IE_DESC
_VALID_URL_GEO_COUNTRIES_TESTSrK   rA   __static_attributes__rb   rM   rJ   r   r      s    GQJVN v1X%#!'$!#9",
$ A1%A#%'"," 
& P1%#",A'A" 
G5Fn!
FrM   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   rP   rQ   s     rJ   rT   )KikaPlaylistIE._entries.<locals>.<lambda>   s    KPQRWPXY^P_D`rM   r   r   ier   r   r   r7   )r   r   r   r   linksnext)
	itertoolscountr<   r   
url_resultr   rB   r   r	   r
   )rD   playlist_urlplaylist_idpagedataitems         rJ   _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'   )r;   r<   playlist_resultr   r=   )rD   r   r   
brand_datas       rJ   rK   KikaPlaylistIE._real_extract   sz    nnS)((<[MJKY
 ##MM*%67H+V~~g6JNNS`Da $ c 	crM   rb   N)	rs   rt   ru   rv   rx   rz   r   rK   r{   rb   rM   rJ   r}   r}      s7    IJ D-A

  F"crM   r}   )r   commonr   utilsr   r   r   r	   r
   utils.traversalr   r   r}   rb   rM   rJ   <module>r      s7     !  +r] rj%c] %crM   