
    VGh                     l    d dl Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
  G d de      Z G d	 d
e      Zy)    N   )InfoExtractor   )determine_extint_or_noneparse_durationparse_iso8601url_or_none)traverse_objc                       e Zd ZdZdZdgZdddddd	d
dddddddddddddddddddddd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d0 Zy1)2KikaIEz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                 2   | j                  |      }| j                  d| |      }| j                  |d   d   |      }i }t        |j                  d            x}r	|ddg|d<   t        |j                  d            x}r$|j	                  dg       j                  |d	d       |t        | j                  ||            |d
t        |dt        hfdt        hfdt        hfdt        hfdt        hfdt        hfft        fdt        hfdt        hfd      S )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_assetsr5   ttml_resourcewebvtt_resources           ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/kika.py_real_extractz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              #   .  K   t        |dd f      D ]}  }|d   }t        |      }|dk(  r| j                  ||ddd      E d {    7||d	t        |d
t        hfdt        hfdt        ht        fdt        hd hfdt        hd hfd        y 7 Ow)Nr.   c                     t        |d         S )Nr   r
   _vs     rI   <lambda>z)KikaIE._extract_formats.<locals>.<lambda>n   s    kRSTYRZF[ rK   r   m3u8r   hlsF)m3u8_idfatal)r   	format_id
frameWidthframeHeightfileSizebitrateAudioc                     | dk(  rd S | S N xs    rI   rR   z)KikaIE._extract_formats.<locals>.<lambda>}       RSWYRY$ _` rK   bitrateVideoc                     | dk(  rd S | S r]   r_   r`   s    rI   rR   z)KikaIE._extract_formats.<locals>.<lambda>~   rb   rK   )widthheightfilesizeabrvbr)r   r   _extract_m3u8_formatsr   filter)rC   
media_inforD   media
stream_urlr   s         rI   r@   z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   ABBABN)	__name__
__module____qualname__IE_DESC
_VALID_URL_GEO_COUNTRIES_TESTSrJ   r@   r_   rK   rI   r   r      s    GQJVN v1X%#!'$!#9",
$ A1%A#%'"," 
& P1%#",A'A" 
G5Fn!
FrK   r   c                   2    e Zd ZdZdddddddgZd	 Zd
 Zy)KikaPlaylistIEz5https?://(?: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              #   ^  K   t        j                  d      D ]  }| j                  ||d|       }t        |dd f      D ]N  } | j                  |d   d   fdt
        it        |d	t        hfd
t        hfdt        hfdt        hfd       P t        |ddt        hf      }|r y  y w)Nr   zDownloading page )notecontentc                 $    t        |d   d         S )Napir   rN   rO   s     rI   rR   z)KikaPlaylistIE._entries.<locals>.<lambda>   s    KPQRWPXY^P_D` rK   r~   r   ier   r   r   r6   )r   r   r   r   linksnext)
	itertoolscountr;   r   
url_resultr   rA   r   r	   r
   )rC   playlist_urlplaylist_idpagedataitems         rI   _entrieszKikaPlaylistIE._entries   s     OOA& 	D&&|[IZ[_Z`Ga&bD$TI7`+ab %dooK&+1"4#cUm")C5!1%/+$?&,}o%>	*   (w.NOL	s   B&B-)B-c                     | j                  |      }| j                  d| |      }| j                  | j                  |d   d   |      ||j	                  d      |j	                  d            S )Nz.https://www.kika.de/_next-api/proxy/v1/brands/videoSubchannelvideosPageUrlr   r&   )r   r&   )r:   r;   playlist_resultr   r<   )rC   r   r   
brand_datas       rI   rJ   zKikaPlaylistIE._real_extract   s|    nnS)((<[MJKY
 ##MM*%67H+Vz~~g6JNNS`Da $ c 	crK   N)ro   rp   rq   rs   ru   r   rJ   r_   rK   rI   rw   rw      s7    IJ D-A

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