U
    g	                     @   s,   d dl mZ ddlmZ G dd deZdS )   )TurnerBaseIE   )int_or_nonec                   @   s2   e Zd ZdZdddddddd	id
Zdd ZdS )CartoonNetworkIEz^https?://(?:www\.)?cartoonnetwork\.com/video/(?:[^/]+/)+(?P<id>[^/?#]+)-(?:clip|episode)\.htmlzLhttps://www.cartoonnetwork.com/video/ben-10/how-to-draw-upgrade-episode.htmlZ(6e3375097f63874ebccec7ef677c1c3845fa850eZmp4zHow to Draw Upgradez$md5:2061d83776db7e8be4879684eefe8c0f)idexttitledescriptionZskip_downloadT)urlZ	info_dictparamsc           
   	      s     |} ||d! fdd	}|ddddd	}|d
ddd	d} |ddi|d|dddkd}|dddp d}|||| d||d dD ]6}|d }	t||	|d ddpЈ |	||d  < q|S )"N[^"]+Fc                    s4   d}|rd| } j d|  | d| d||dS )N z|video_metadata\.content_z(?:_cnglobal\.currentVideo\.z
)\s*=\s*"(z)";fatal)Z_search_regex)Z	global_renameZ
content_revalue_rer   Zmetadata_reselfZwebpage C/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/cartoonnetwork.py
find_field   s      z2CartoonNetworkIE._real_extract.<locals>.find_fieldZmediaIdzmedia idr   z[0-9a-f]{40}TZepisodeTitler   z(?:episodeName|name)r   Z	networkIdZcartoonnetworkZCartoonNetworkZauthTypez	auth typeZunauth)r
   Z	site_nameZauth_requiredZpropertyNameseriesZshowNameZpartOfSeriesr	   )r   
display_idr   r	   r   episode)Zseasonr   Numberz numberz\d+)r   Z_number)Nr   F)Z	_match_idZ_download_webpageZ_extract_ngtv_infoZ_html_search_metaupdater   )
r   r
   r   r   Zmedia_idr   infor   field
field_namer   r   r   _real_extract   sL    
   

	  
zCartoonNetworkIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTr   r   r   r   r   r      s    r   N)Zturnerr   utilsr   r   r   r   r   r   <module>   s   