add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�Wc���z�ddlmZddlmZddlmZGd�d�ZGd�d�Zdd
�ZGd�d�Z	d
�Z
dS)�)�suppress)�
TextIOWrapper�)�abcc�$�eZdZdZd�fd�Zd�ZdS)�SpecLoaderAdapterz>
    Adapt a package spec to adapt the underlying loader.
    c��|jS�N)�loader��specs �6/usr/lib64/python3.12/importlib/resources/_adapters.py�<lambda>zSpecLoaderAdapter.<lambda>s
��$�+�+��c�0�||_||�|_dSr
)r
r)�selfr
�adapters   r�__init__zSpecLoaderAdapter.__init__s����	��g�d�m����rc�2�t|j|�Sr
)�getattrr
�r�names  r�__getattr__zSpecLoaderAdapter.__getattr__s���t�y�y�$�'�'rN)�__name__�
__module__�__qualname__�__doc__rr�rrrrsI��������&>�%=�$�$�$�$�(�(�(�(�(rrc��eZdZdZd�Zd�ZdS)�TraversableResourcesLoaderz9
    Adapt a loader to provide TraversableResources.
    c��||_dSr
r�rr
s  rrz#TraversableResourcesLoader.__init__�
����	�	�	rc�N�t|j�j�Sr
)�CompatibilityFilesr
�_nativers  r�get_resource_readerz.TraversableResourcesLoader.get_resource_readers��!�$�)�)�,�4�4�6�6rN)rrrrrr'rrrr r s<�����������7�7�7�7�7rr �rc�`�|dkrt|g|�Ri|��S|dkr|Std|�d���)Nr(�rbzInvalid mode value 'z"', only 'r' and 'rb' are supported)r�
ValueError)�file�mode�args�kwargss    r�_io_wrapperr0 sR���s�{�{��T�3�D�3�3�3�F�3�3�3�	
������
�G�t�G�G�G��rc���eZdZdZGd�dej
�ZGd�dej
�ZGd�dej
�Zd�Z	e
d	��Zd
�Zd�Z
d�Zd
S)r%zj
    Adapter for an existing or non-existent resource reader
    to provide a compatibility .files().
    c�H�eZdZdZd�Zd�Zd�ZeZd�Ze	d��Z
d
d�Zd	S)�CompatibilityFiles.SpecPathzk
        Path tied to a module spec.
        Can be read and exposes the resource reader children.
        c�"�||_||_dSr
)�_spec�_reader)rr
�readers   rrz$CompatibilityFiles.SpecPath.__init__6s���D�J�!�D�L�L�Lrc����js
td�St�fd��jj�D��S)Nrc3�^�K�|]&}tj�j|����(dSr
)r%�	ChildPathr6)�.0�pathrs  �r�	<genexpr>z6CompatibilityFiles.SpecPath.iterdir.<locals>.<genexpr>=s@��������#�,�,�T�\�\�4�@�@�@�@�@��r)r6�iter�contents�rs`r�iterdirz#CompatibilityFiles.SpecPath.iterdir:sP����<�<�<��B�x������� �L�L�1�1�3����
rc��dS�NFrr@s r�is_filez#CompatibilityFiles.SpecPath.is_fileB����5rc��|jstj|�Stj|j|�Sr
)r6r%�
OrphanPathr:�r�others  r�joinpathz$CompatibilityFiles.SpecPath.joinpathGs3���<�<�<�)�4�4�U�;�;�%�/�/����e�D�Drc�.�|jjSr
)r5rr@s rrz CompatibilityFiles.SpecPath.nameLs���:�:�?�?�"rr(c�X�t|jjd�|g|�Ri|��Sr
)r0r6�
open_resource�rr-r.r/s    r�openz CompatibilityFiles.SpecPath.openPs2���t�|�|�9�9�$�?��W��W�W�W�PV�W�W�WrN�r(�rrrrrrArD�is_dirrJ�propertyrrOrrr�SpecPathr30s�������	�	�
	"�	"�	"�	�	�	�	�	�	���	E�	E�	E�

�	#�	#�
�	#�	X�	X�	X�	X�	X�	XrrTc�J�eZdZdZd�Zd�Zd�Zd�Zd�Ze	d��Z
dd	�Zd
S)�CompatibilityFiles.ChildPathzw
        Path tied to a resource reader child.
        Can be read but doesn't expose any meaningful children.
        c�"�||_||_dSr
)r6�_name)rr7rs   rrz%CompatibilityFiles.ChildPath.__init__Ys��!�D�L��D�J�J�Jrc��td�S�Nr�r>r@s rrAz$CompatibilityFiles.ChildPath.iterdir]�����8�Orc�N�|jj|j�Sr
)r6�is_resourcerr@s rrDz$CompatibilityFiles.ChildPath.is_file`s���<�<�+�+�D�I�I�6�6rc�&�|j�Sr
)rDr@s rrRz#CompatibilityFiles.ChildPath.is_dircs���|�|�~�%�%rc�F�tj|j|�Sr
)r%rGrrHs  rrJz%CompatibilityFiles.ChildPath.joinpathfs��%�0�0����E�B�Brc��|jSr
)rXr@s rrz!CompatibilityFiles.ChildPath.nameis���:�:�rr(c�l�t|jj|j�|g|�Ri|��Sr
)r0r6rMrrNs    rrOz!CompatibilityFiles.ChildPath.openmsF������*�*�4�9�9�5�t��>B����FL���
rNrPrQrrrr:rVSs�������	�	�
	�	�	�	�	�	�	7�	7�	7�	&�	&�	&�	C�	C�	C�
�	�	�
�	�	�	�	�	�	�	rr:c�H�eZdZdZd�Zd�Zd�ZeZd�Ze	d��Z
d
d�Zd	S)�CompatibilityFiles.OrphanPathz�
        Orphan path, not tied to a module spec or resource reader.
        Can't be read and doesn't expose any meaningful children.
        c�P�t|�dkr
td��||_dS)Nrz/Need at least one path part to construct a path)�lenr+�_path)r�
path_partss  rrz&CompatibilityFiles.OrphanPath.__init__xs(���:���"�"� �!R�S�S�#�D�J�J�Jrc��td�SrZr[r@s rrAz%CompatibilityFiles.OrphanPath.iterdir}r\rc��dSrCrr@s rrDz%CompatibilityFiles.OrphanPath.is_file�rErc�F�tjg|j�|�R�Sr
)r%rGrgrHs  rrJz&CompatibilityFiles.OrphanPath.joinpath�s%��%�0�0�D�$�*�*�D�e�D�D�D�Drc�&�|jdS)N�����)rgr@s rrz"CompatibilityFiles.OrphanPath.name�s���:�:�b�>�!rr(c��td��)NzCan't open orphan path)�FileNotFoundErrorrNs    rrOz"CompatibilityFiles.OrphanPath.open�s��#�$<�=�=rNrPrQrrrrGrdrs�������	�	�
	$�	$�	$�
	�	�	�	�	�	���	E�	E�	E�
�	"�	"�
�	"�	>�	>�	>�	>�	>�	>rrGc��||_dSr
rr"s  rrzCompatibilityFiles.__init__�r#rc���tt�5|jjj	|jj
�cddd�S#1swYdSxYwr
)r�AttributeErrorr
rr'rr@s rr6zCompatibilityFiles._reader�s���
�n�
%�	H�	H��9�9�#�#�7�7��	�	���G�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H���s�:A�A"c�>�|j}t|d�r|S|S)zB
        Return the native reader if it supports files().
        �files)r6�hasattr)rr7s  rr&zCompatibilityFiles._native�s$������ ���1�1�v�;�t�;rc�2�t|j|�Sr
)rr6)r�attrs  rrzCompatibilityFiles.__getattr__�s���t�|�|�T�*�*rc�Z�tj|j|j�Sr
)r%rTr
r6r@s rrtzCompatibilityFiles.files�s��!�*�*�4�9�9�d�l�l�C�CrN)rrrrr�TraversablerTr:rGrrSr6r&rrtrrrr%r%*s���������
!X�!X�!X�!X�!X�3�?�?�!X�!X�F�����C�O�O���>>�>�>�>�>�S�_�_�>�>�:����H�H��H�<�<�<�+�+�+�D�D�D�D�Drr%c�<�t|jt�S)z`
    Construct a package spec with traversable compatibility
    on the spec/loader/reader.
    )r�__spec__r )�packages r�	wrap_specr}�s��
�W�-�-�/I�J�JrNrP)�
contextlibr�ior�rrr r0r%r}rrr�<module>r�s���������������������
(�
(�
(�
(�
(�
(�
(�	7�	7�	7�	7�	7�	7�	7�����xD�xD�xD�xD�xD�xD�xD�vK�K�K�K�Kr