o
    i	                     @   s   d dl Zd dlZd dlm  mZ ddlmZ eed [G dd de	Z
G dd dejZd	d
 Zdd Zdd Zejdv rDdd ZnejjZdd ZdS )    N   )passthrough_modulez._deprecatedc                   @   s   e Zd ZdS )compat_HTMLParseErrorN)__name__
__module____qualname__ r   r   J/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/compat/__init__.pyr      s    r   c                   @   s   e Zd Zdd ZdS )_TreeBuilderc                 C   s   d S Nr   )selfnamepubidsystemr   r   r	   doctype   s   z_TreeBuilder.doctypeN)r   r   r   r   r   r   r   r	   r
      s    r
   c                 C   s   t j| t jt ddS )N)target)parser)etreeXML	XMLParserr
   )textr   r   r	   compat_etree_fromstring   s   r   c                 C   s   t | tr| S t| S r   )
isinstanceintord)cr   r   r	   
compat_ord   s   r   c                 C   s   t jdt jjt j| d S )Nr   )seconds)dtdatetimefromtimestamptimezoneutc	timedelta)	timestampr   r   r	   compat_datetime_from_timestamp   s   r%   )ntcec                 C   s   t jd}|st j| S | ds| S | dddd}|dk r't| }|dkr:t j	t j
|| d| n|}|| |d   S )NHOME~\/r   r   )osenvirongetpath
expanduser
startswithreplacefindlenjoindirname)r/   r(   iuserhomer   r   r	   compat_expanduser*   s   
*r9   c                 C   sV   ddl m} ddlm} ||  | j|  || j| jt	| dr'd| j
idS ddS )z.Convert urllib Request to a networking Request   )Request)HTTPHeaderDicttimeoutN)datamethodheaders
extensions)
networkingr;   utils.networkingr<   get_full_urlr>   
get_methodr@   unredirected_hdrshasattrr=   )urllib_requestr;   r<   r   r   r	   urllib_req_to_req9   s   rI   )r   r   r,   xml.etree.ElementTreer   ElementTreecompat_utilsr   r   
ValueErrorr   TreeBuilderr
   r   r   r%   r   r9   r/   r0   rI   r   r   r   r	   <module>   s    



