o
    i                     @   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/627d7d95b353db0001dadd1a cb9cd5db3bb9ee0d32bfd7e373d6ef0a627d7d95b353db0001dadd1amp4zE1: Jacky vs Ericzre:^https?://.*\.jpg    z$md5:dd16e3e2a8d27d922e7a989f85986853 i  i}}b20220512zThis is Fire)idexttitle	thumbnailaverage_ratingdescription
display_idduration	timestampupload_date
view_countcreator)urlmd5	info_dictc                 C   sH   |  |}| ||}tt| j||}d|d< | d|d|d< |S )Nurl_transparent_typez*<a[^>]+class=\"creator-name\"[^>]+>([^<]+)r   )	_match_id_download_webpagenextr   extract_from_webpage_downloader_search_regex)selfr   video_idwebpageinfo r(   I/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/oftv.py_real_extract   s   
zOfTVIE._real_extractN__name__
__module____qualname__
_VALID_URL_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   playlist_countr   c                 C   s<   |  |}| ||}| jd|d|dd}| t|d|S )Nzvar\s*remaining_videos\s*=zoftv playlistsz\[.+\])contains_pattern).discovery_url)r   r   _search_jsonplaylist_from_matchesr   )r$   r   playlist_idr&   
json_matchr(   r(   r)   r*   .   s   


zOfTVPlaylistIE._real_extractNr+   r(   r(   r(   r)   r1   $   s    r1   N)commonr   zyper   utilsr   r   r1   r(   r(   r(   r)   <module>   s
    