U
    g                     @   sH   d dl mZ d dlmZ ddlmZ G dd deZG dd deZd	S )
   )InfoExtractor)ZypeIE   )traverse_objc                   @   s@   e Zd ZdZdddddddd	d
dddddddgZdd ZdS )OfTVIEz+https?://(?:www\.)?of\.tv/video/(?P<id>\w+)z,https://of.tv/video/627d7d95b353db0001dadd1aZ cb9cd5db3bb9ee0d32bfd7e373d6ef0aZ627d7d95b353db0001dadd1aZmp4zE1: Jacky vs Ericzre:^https?://.*\.jpg    z$md5:dd16e3e2a8d27d922e7a989f85986853 i  i}}bZ20220512zThis is Fire)idexttitleZ	thumbnailZaverage_ratingdescriptionZ
display_idduration	timestampZupload_dateZ
view_countcreator)urlmd5	info_dictc                 C   sH   |  |}| ||}tt| j||}d|d< | d|d|d< |S )NZurl_transparent_typez*<a[^>]+class=\"creator-name\"[^>]+>([^<]+)r   )	_match_id_download_webpagenextr   Zextract_from_webpageZ_downloaderZ_search_regex)selfr   Zvideo_idwebpageinfo r   9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/oftv.py_real_extract   s    
zOfTVIE._real_extractN__name__
__module____qualname__Z
_VALID_URLZ_TESTSr   r   r   r   r   r      s$   r   c                   @   s*   e Zd ZdZddddidgZdd Zd	S )
OfTVPlaylistIEzDhttps?://(?:www\.)?of\.tv/creators/(?P<id>[a-zA-Z0-9-]+)/?(?:$|[?#])z$https://of.tv/creators/this-is-fire/   r	   zthis-is-fire)r   Zplaylist_countr   c                 C   s<   |  |}| ||}| jd|d|dd}| t|d|S )Nzvar\s*remaining_videos\s*=zoftv playlistsz\[.+\])Zcontains_pattern).Zdiscovery_url)r   r   Z_search_jsonZplaylist_from_matchesr   )r   r   Zplaylist_idr   Z
json_matchr   r   r   r   .   s    
     zOfTVPlaylistIE._real_extractNr   r   r   r   r   r!   $   s    r!   N)commonr   Zzyper   utilsr   r   r!   r   r   r   r   <module>   s   