o
     JAf                     @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 ddlmZmZ ddlmZ eejef Zdd Zdd	 Zd
d Zdd Zdd Zdd Zejde jdddZejdd Zeejejdd Z dS )    N)UnionAnyOptional   )ResourceReaderTraversable)	wrap_specc                 C   s   	 t t| S N)from_packageget_package)package r   (/usr/lib/python3.10/importlib/_common.pyfiles   s   r   c                 C   s0   	 t | }tj|\}}|rt| d|S )Nz must be only a file name)strospathsplit
ValueError)r   Zstr_pathparent	file_namer   r   r   normalize_path   s   r   c                 C   s,   	 | j }t|jdd }|d u rd S ||jS )Nget_resource_reader)__spec__getattrloadernamer   specreaderr   r   r   r   &   s   
r   c                 C   s   t | tjr| S t| S r	   )
isinstancetypes
ModuleType	importlibimport_module)Zcandr   r   r   resolve7   s   r%   c                 C   s*   	 t | }t|jd u rt| d|S )Nz is not a package)r%   r   submodule_search_locations	TypeError)r   Zresolvedr   r   r   r   <   s
   r   c                 C   s    	 t | }|j|j}| S r	   )r   r   r   r   r   r   r   r   r   r
   H   s   r
    )
_os_removec                c   s    t j|d\}}z&t||   t| ~ t|V  W z|| W d S  ty/   Y d S w z|| W w  ty?   Y w w N)suffix)tempfilemkstempr   writeclosepathlibPathFileNotFoundError)r   r+   r)   fdZraw_pathr   r   r   	_tempfileR   s"   
r4   c                 C   s   	 t | j| jdS r*   )r4   
read_bytesr   r   r   r   r   as_fileg   s   r7   c                 c   s    	 | V  d S r	   r   r6   r   r   r   _p   s   
r8   )r(   )!r   r0   r,   	functools
contextlibr!   r#   typingr   r   r   abcr   r   Z	_adaptersr   r"   r   ZPackager   r   r   r%   r   r
   contextmanagerremover4   singledispatchr7   registerr1   r8   r   r   r   r   <module>   s4    


