add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U

�AT^�$c	@s�ddlZddlZddlmZddlmZmZddlm	Z	ddl
mZddlm
Z
mZddlmZdd	lmZdd
lmZmZmZmZmZddlmZddlmZmZdd
lmZdddddddddg	Zee efZ!ee ej"fZ#ed�dd�Z$e d�dd�Z%eeej&d�dd�Z'dd �Z(e!e#ed!�d"d�Z)d-e!e#e e ed%�d&d�Z*e!e#e+d!�d'd�Z,d.e!e#e e e d%�d(d�Z-ee!e#eed!�d)d��Z.e!e e/d*�d+d�Z0e!ee d�d,d�Z1dS)/iNi)�abc)�contextmanager�suppress)�
import_module)�ResourceLoader)�BytesIO�
TextIOWrapper)�Path)�
ModuleType)�Iterable�Iterator�Optional�Set�Union)�cast)�BinaryIO�TextIO)�ZipImportError�Package�Resource�contents�is_resource�open_binary�	open_text�path�read_binary�	read_text)�returncCs\t|d�r0|jjdkr*td�|jj���qX|Sn(t|�}|jjdkrTtd�|���n|SdS)N�__spec__z{!r} is not a package)�hasattrrZsubmodule_search_locationsZ	TypeError�format�namer)�packageZmodule�r!�+/usr/lib64/python3.8/importlib/resources.py�_get_package"s
�r#cCs,tj�|�\}}|r$td�|���n|SdS)Nz{!r} must be only a file name)�osrZsplitZ
ValueErrorr)r�parentZ	file_namer!r!r"�_normalize_path6sr&)r rcCs,|j}t|jd�r(ttj|j�|j��SdS)N�get_resource_reader)rr�loaderr�
resources_abc�ResourceReaderr'r)r Zspecr!r!r"�_get_resource_readerBs�r+cCs&|jjdks|jjs"td|����dS)NzPackage has no location )r�origin�has_location�FileNotFoundError)r r!r!r"�_check_locationPsr/)r �resourcerc
Cs�t|�}t|�}t|�}|dk	r*|�|�St|�tj�|jj	�}tj�
|�}tj�||�}zt|dd�WSt
k
r�tt|jj�}d}t|jjd�r�tt
��|�|�}W5QRX|dkr�|jj}d�||�}	t|	��nt|�YSYnXdS)NZrb)�mode�get_data�{!r} resource not found in {!r})r&r#r+�
open_resourcer/r$r�abspathrr,�dirname�join�open�OSErrorrrr(rrr2rrr.r)
r r0�reader�absolute_package_path�package_path�	full_pathr(�data�package_name�messager!r!r"rUs2

�
�utf-8�strict)r r0�encoding�errorsrcCs
t|�}t|�}t|�}|dk	r2t|�|�||�St|�tj�|j	j
�}tj�|�}tj�||�}zt
|d||d�WStk
�rtt|j	j�}d}	t|j	jd�r�tt��|�|�}	W5QRX|	dkr�|j	j}
d�||
�}t|��ntt|	�||�YSYnXdS)NZr)r1rCrDr2r3)r&r#r+rr4r/r$rr5rr,r6r7r8r9rrr(rrr2rrr.r)r r0rCrDr:r;r<r=r(r>r?r@r!r!r"rts2
�
c
Cs:t|�}t|�}t||��}|��W5QR�SQRXdS�N)r&r#r�read)r r0�fpr!r!r"r�sc
Cs>t|�}t|�}t||||��}|��W5QR�SQRXdSrE)r&r#rrF)r r0rCrDrGr!r!r"r�s	c	cs�t|�}t|�}t|�}|dk	rNzt|�|��VWdStk
rJYqVXnt|�t|jj�j	}||}|�
�r||Vnvt||��}|��}W5QRXt
��\}}z$t�||�t�|�t|�VW5zt�|�Wntk
r�YnXXdSrE)r&r#r+rZ
resource_pathr.r/rr,r%ZexistsrrF�tempfileZmkstempr$ZremoveZwriteZclose)	r r0r:�package_directoryZ	file_pathrGr>ZfdZraw_pathr!r!r"r�s2

)r rrc	Cs|t|�}t|�t|�}|dk	r*|�|�Sztt|��}Wnttfk
rTYdSX||krbdSt|j	j
�j|}|��S)NF)
r#r&r+rZsetrZNotADirectoryErrorr.rrr,r%Zis_file)r rr:Zpackage_contentsrr!r!r"r�s
cCsTt|�}t|�}|dk	r |��S|jjdks4|jjs8dSt|jj�j}t�	|�SdS)Nr!)
r#r+rrr,r-rr%r$Zlistdir)r r:rIr!r!r"r�s�rArBrJ)2r$rHZrr)Z
contextlibrrZ	importlibrZ
importlib.abcrZiorrZpathlibrZtypesrZtypingr	r
rrr
rZ	typing.iorrZ	zipimportrZ__all__ZstrrZPathLikerr#r&r*r+r/rrZbytesrrrZboolrrr!r!r!r"Z<module>sh�

�!��"
��,