U
    g                     @   s@   d dl Z ddlmZ ddlmZ ddlmZ G dd deZdS )	    N   )DiscoveryPlusBaseIE   )join_nonempty)traverse_objc                   @   s~   e Zd ZdZdddddddd	d
ddddddgg dddddddddddddgg dddddidd gZd!d" Zd#d$ Zd%S )&Tele5IEz_https?://(?:www\.)?tele5\.de/(?P<parent_slug>[\w-]+)/(?P<slug_a>[\w-]+)(?:/(?P<slug_b>[\w-]+))?z7https://tele5.de/mediathek/stargate-atlantis/quarantaneZ6852024Zmp4u   Quarantänez$md5:6af0373bd0fcc4f13e5d47701903d675z
Episode 73I   zSeason 4   zStargate AtlantisZ20240525iQfgfffff@zZhttps://eu1-prod-images.disco-api.com/2024/05/21/c81fcb45-8902-309b-badb-4e6d546b575d.jpegZTele5)idexttitledescriptionZepisodeZepisode_numberZseasonZseason_numberseriesupload_date	timestampduration	thumbnailcreatorstags)url	info_dictz%https://tele5.de/mediathek/inside-outZ6819502z
Inside outz$md5:7e5f32ed0be5ddbd27713a34b9293bfdZ20240523i@Ofgfffffߴ@zZhttps://eu1-prod-images.disco-api.com/2024/05/15/181eba3c-f9f0-3faf-b14d-0097050a3aa4.jpeg)r
   r   r   r   r   r   r   r   r   r   r   z#https://tele5.de/mediathek/schlefazr
   zmediathek-schlefaz   )r   r   Zplaylist_mincountc           	   
   C   s   |  |ddd\}}}t|||dd}ddd}|sLd	| }||d< nd
| }||d< | jd| d||d}| ttj| j|ddddt	|dddt
hf|S )Nparent_slugslug_aslug_b-)delimZtele52)environmentvzpage/zvideos/zfilter[show.slug]z#https://de-api.loma-cms.com/feloma//)queryzeu1-prod.disco-api.comZdmaxdeZDE)Z
disco_hostrealmZcountryblocks.ZvideoId)Z_match_valid_urlgroupr   Z_download_jsonZplaylist_resultmap	functoolspartialZ_get_disco_api_infor   str)	selfr   r   r   r   Zplaylist_idr!   ZendpointZcms_data r*   :/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/tele5.py_real_extract7   s    



zTele5IE._real_extractc              	   C   s&   | d| d| |||d d S )Nzrealm=zAlps:HyogaPlayer:0.0.0)zx-disco-paramszx-disco-clientAuthorization)updateZ	_get_auth)r)   headersZ
disco_baseZ
display_idr"   r*   r*   r+   _update_disco_api_headersH   s
    z!Tele5IE._update_disco_api_headersN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr,   r0   r*   r*   r*   r+   r      sT    -r   )r&   Zdplayr   utilsr   Zutils.traversalr   r   r*   r*   r*   r+   <module>   s   