_adapters.pyc
 1  o

 2  6�Hc��@sdddlmZddlmZddlmZGdd�d�ZGdd�d�Zdd
 3  d�ZGdd
�d
�Z	dd�Z
 4  dS)�)�suppress)�
TextIOWrapper�)�abcc@s(eZdZdZdd�fdd�Zdd�ZdS)	�SpecLoaderAdapterz>
 5      Adapt a package spec to adapt the underlying loader.
 6      cC�|jS�N)�loader��spec�r��C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2800.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_vendor\importlib_resources\_adapters.py�<lambda>szSpecLoaderAdapter.<lambda>cCs||_||�|_dSr)rr	)�selfr�adapterrrr
�__init__szSpecLoaderAdapter.__init__cC�t|j|�Sr)�getattrr�r�namerrr
�__getattr__�zSpecLoaderAdapter.__getattr__N)�__name__�
 7  __module__�__qualname__�__doc__rrrrrr
rsrc@s eZdZdZdd�Zdd�ZdS)�TraversableResourcesLoaderz9
 8      Adapt a loader to provide TraversableResources.
 9      cC�
10  ||_dSrr
11  �rrrrr
r�
12  z#TraversableResourcesLoader.__init__cCst|j���Sr)�CompatibilityFilesr�_nativerrrr
�get_resource_reader�z.TraversableResourcesLoader.get_resource_readerN)rrrrrr"rrrr
rsr�rcOs8|dkrt|g|�Ri|��S|dkr|Std�|���)Nr$�rbz8Invalid mode value '{}', only 'r' and 'rb' are supported)r�
13  ValueError�format)�file�mode�args�kwargsrrr
�_io_wrapper s�r,c@sreZdZdZGdd�dej�ZGdd�dej�ZGdd�dej�Zdd	�Z	e
14  d
15  d��Zdd
�Zdd�Z
dd�ZdS)r zj
16      Adapter for an existing or non-existent resource reader
17      to provide a compatibility .files().
18      c@�JeZdZdZdd�Zdd�Zdd�ZeZdd	�Ze	d
19  d��Z
20  dd
d�ZdS)zCompatibilityFiles.SpecPathzk
21          Path tied to a module spec.
22          Can be read and exposes the resource reader children.
23          cC�||_||_dSr)�_spec�_reader)rr�readerrrr
r6�
24  z$CompatibilityFiles.SpecPath.__init__cs*�jstd�St�fdd��j��D��S)Nrc3s�|]
25  }t��j|�VqdSr)r �	ChildPathr0)�.0�path�rrr
�	<genexpr>=s
26  ��
27  �z6CompatibilityFiles.SpecPath.iterdir.<locals>.<genexpr>)r0�iter�contentsr6rr6r
�iterdir:s
28  �z#CompatibilityFiles.SpecPath.iterdircC�dS�NFrr6rrr
�is_fileB�z#CompatibilityFiles.SpecPath.is_filecCs|jst�|�St�|j|�Sr)r0r �
29  OrphanPathr3�r�otherrrr
�joinpathGs
30  z$CompatibilityFiles.SpecPath.joinpathcCs|jjSr)r/rr6rrr
rLsz CompatibilityFiles.SpecPath.namer$cOs t|j�d�|g|�Ri|��Sr)r,r0�
open_resource�rr)r*r+rrr
�openPs z CompatibilityFiles.SpecPath.openN�r$�rrrrrr:r=�is_dirrB�propertyrrErrrr
�SpecPath0s
31  rJc@sNeZdZdZdd�Zdd�Zdd�Zdd	�Zd
32  d�Ze	dd
��Z
33  ddd�ZdS)zCompatibilityFiles.ChildPathzw
34          Path tied to a resource reader child.
35          Can be read but doesn't expose any meaningful children.
36          cCr.r)r0�_name)rr1rrrr
rYr2z%CompatibilityFiles.ChildPath.__init__cC�td�S�Nr�r8r6rrr
r:]�z$CompatibilityFiles.ChildPath.iterdircCs|j�|j�Sr)r0�is_resourcerr6rrr
r=`r#z$CompatibilityFiles.ChildPath.is_filecCs
37  |��Sr)r=r6rrr
rHcrz#CompatibilityFiles.ChildPath.is_dircCst�|j|�Sr)r r?rr@rrr
rBfr#z%CompatibilityFiles.ChildPath.joinpathcCrr)rKr6rrr
risz!CompatibilityFiles.ChildPath.namer$cOs"t|j�|j�|g|�Ri|��Sr)r,r0rCrrDrrr
rEms���z!CompatibilityFiles.ChildPath.openNrFrGrrrr
r3Ss
38  r3c@r-)zCompatibilityFiles.OrphanPathz�
39          Orphan path, not tied to a module spec or resource reader.
40          Can't be read and doesn't expose any meaningful children.
41          cGst|�dkr
42  td��||_dS)Nrz/Need at least one path part to construct a path)�lenr&�_path)r�
43  path_partsrrr
rxs
44  z&CompatibilityFiles.OrphanPath.__init__cCrLrMrNr6rrr
r:}rOz%CompatibilityFiles.OrphanPath.iterdircCr;r<rr6rrr
r=�r>z%CompatibilityFiles.OrphanPath.is_filecCstjg|j�|�R�Sr)r r?rRr@rrr
rB�sz&CompatibilityFiles.OrphanPath.joinpathcCs
45  |jdS)N�����)rRr6rrr
r�s
46  z"CompatibilityFiles.OrphanPath.namer$cOstd��)NzCan't open orphan path)�FileNotFoundErrorrDrrr
rE�rOz"CompatibilityFiles.OrphanPath.openNrFrGrrrr
r?rs
47  r?cCrrr
48  rrrr
r�rzCompatibilityFiles.__init__cCs>tt��|jj�|jj�Wd�S1swYdSr)r�AttributeErrorrr	r"rr6rrr
r0�s
49  $�zCompatibilityFiles._readercCs|j}t|d�r
50  |S|S)zB
51          Return the native reader if it supports files().
52          �files)r0�hasattr)rr1rrr
r!�szCompatibilityFiles._nativecCrr)rr0)r�attrrrr
r�rzCompatibilityFiles.__getattr__cCst�|j|j�Sr)r rJrr0r6rrr
rW�szCompatibilityFiles.filesN)rrrrr�TraversablerJr3r?rrIr0r!rrWrrrr
r *s#
53  r cCst|jt�S)z`
54      Construct a package spec with traversable compatibility
55      on the spec/loader/reader.
56      )r�__spec__r)�packagerrr
�	wrap_spec�sr]NrF)�
57  contextlibr�ior�rrrr,r r]rrrr
�<module>s
58  
59  {