U
    g                     @   s0   d dl mZ ddlmZmZ G dd deZdS )   )InfoExtractor   )int_or_noneparse_durationc                
   @   sV   e Zd ZdZdddddddd	d
ddddddddgZdd Zdd Zdd ZdS )ToonGogglesIEzbhttps?://(?:www\.)?toongoggles\.com/shows/(?P<show_id>\d+)(?:/[^/]+/episodes/(?P<episode_id>\d+))?zQhttp://www.toongoggles.com/shows/217143/bernard-season-2/episodes/217147/footballZ 18289fc2b951eff6b953a9d8f01e6831Z217147Zmp4ZFootball1zvBernard decides to play football in order to be better than Lloyd and tries to beat him no matter how, he even cheats.Z20160718iQW)idexttitleZuploader_iddescriptionZupload_date	timestamp)urlmd5	info_dictzGhttp://www.toongoggles.com/shows/227759/om-nom-stories-around-the-worldZ227759zOm Nom Stories Around The World)r   r
      )r   r   Zplaylist_mincountc                 C   s(   | ddddd | jd| ||dS )Nr   g      @)Zfor_ngZfor_webZ	show_metaversionzhttp://api.toongoggles.com/)query)updateZ_download_json)selfactionZpage_idr    r   @/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/toongoggles.py	_call_api   s    zToonGogglesIE._call_apic                 C   sr   |d }d|d |d|d  | d| dt| d| d	t| d
| d|t| d| dddS )NZepisode_nameZurl_transparent
episode_idzkaltura:513551:Zentry_idZthumbnail_urlr   Zhms	show_nameZ
season_numZepisode_num
categoriesZKaltura)_typer   r
   r   Z	thumbnailr   durationZseriesZseason_numberr   episodeZepisode_numberr   Zie_key)getr   r   )r   episode_datar
   r   r   r   _parse_episode_data(   s     
z!ToonGogglesIE._parse_episode_datac                 C   s   |  | \}}|r<| d|d|dd d }| |S | d|d|d}g }|dg D ]}|| | q`| |||d	S d S )
Nsearchr   )filterr   Zobjects    Zgetepisodesbyshowi ʚ;)maxZshowidr   )Z_match_valid_urlgroupsr   r!   r   appendZplaylist_result)r   r   Zshow_idr   r    Z	show_dataentriesr   r   r   _real_extract<   s&    
zToonGogglesIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr   r!   r)   r   r   r   r   r      s,   	r   N)commonr   utilsr   r   r   r   r   r   r   <module>   s   