o
    i                     @   s   d dl mZ d dlmZ d dlmZ d dlmZm	Z	 ee
d [e	eddeed d	d
 Zdd ZdddZdddZdd Zdd ZdS )   )passthrough_module
extractors)
plugin_ies)
PluginSpecregister_plugin_specz.extractors	extractorIE)module_namesuffixdestinationplugin_destinationc                   C   s   t   ttj S )z Return a list of supported extractors.
    The order does matter; the first extractor matched is the one handling the URL.
    )import_extractorslist_extractors_contextvaluevalues r   r   M/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/__init__.pygen_extractor_classes   s   r   c                   C   s   dd t  D S )z Return a list of an instance of every supported extractor.
    The order does matter; the first extractor matched is the one handling the URL.
    c                 S      g | ]}| qS r   r   ).0klassr   r   r   
<listcomp>       z"gen_extractors.<locals>.<listcomp>)r   r   r   r   r   gen_extractors   s   r   Nc                 #   s@    ddl m  tt fddt dd dE dH   V  dS )zYReturn a list of extractors that are suitable for the given age, sorted by extractor name   )	GenericIEc                    s   |  o|  kS N)is_suitableier   	age_limitr   r   <lambda>%   r   z(list_extractor_classes.<locals>.<lambda>c                 S   s
   | j  S r   )IE_NAMElowerr    r   r   r   r$   &   s   
 )keyN)genericr   sortedfilterr   r#   r   r"   r   list_extractor_classes    s   
r,   c                 C   s   dd t | D S )zbReturn a list of extractor instances that are suitable for the given age, sorted by extractor namec                 S   r   r   r   )r   r!   r   r   r   r   ,   r   z#list_extractors.<locals>.<listcomp>)r,   r+   r   r   r   list_extractors*   s   r-   c                 C   s   t   tj|  d S )z7Returns the info extractor class with the given ie_namer	   )r   r   r   )ie_namer   r   r   get_info_extractor/   s   r/   c                  C   s   ddl m}  d S )Nr   r   ) r   r   r   r   r   r   5   s   r   r   )compat.compat_utilsr   globalsr   r   r   _plugin_ies_contextpluginsr   r   __name__r   r   r,   r-   r/   r   r   r   r   r   <module>   s$    



