add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_�c@s�ddlZddlZddd�Zdd�Zdd�Zdd	�Zej�ej�d
d
��dd�Z	e	fdd
�Z
[	dd�ZGdd�de�Z
dae�dS)�NcCs�|}|durZt|ttf�r6tddt|��d|����tttjj	|��sTt
t|���|}n.tj�
dd�}|durzt|�}ntt�d��}t|�adS)Nz!tzpaths must be a list or tuple, znot z: ZPYTHONTZPATH�TZPATH)Z
isinstanceZstrZbytesZ	TypeErrorZtypeZallZmap�os�path�isabs�
ValueError�_get_invalid_paths_messageZenvironZget�_parse_python_tzpath�	sysconfigZget_config_var�tupler)Zto�tzpathsZbase_tzpath�env_var�r�)/usr/lib64/python3.10/zoneinfo/_tzpath.py�reset_tzpaths$��
�rcCsZ|sdS|�tj�}tttjj|��}t|�t|�krVddl}t	|�}|�
d|t�|S)Nrrz=Invalid paths specified in PYTHONTZPATH environment variable.)ZsplitrZpathsepr	Zfilterrr�len�warningsrZwarn�InvalidTZPathWarning)rZ
raw_tzpathZ
new_tzpathrZmsgrrr
rs��rcCs(dd�|D�}d}||�|�}d|S)Ncss|]}tj�|�s|VqdS�N)rrr)Z.0rrrr
Z	<genexpr>6sz-_get_invalid_paths_message.<locals>.<genexpr>z
    z@Paths should be absolute but found the following relative paths:)�join)r
Z
invalid_pathsZprefixZindented_strrrr
r5s��rcCs6t|�tD]$}tj�||�}tj�|�r|SdS)z,Retrieve the path to a TZif file from a key.N)�_validate_tzfile_pathrrrrZisfile)�keyZsearch_pathZfilepathrrr
�find_tzfileAsrZ_i����cCsvtj�|�rtd|����tj�|�}t|�t|�krDtd|����tj�tj�||��}|�|�srtd|����dS)Nz.ZoneInfo keys may not be absolute paths, got: z6ZoneInfo keys must be normalized relative paths, got: z;ZoneInfo keys must refer to subdirectories of TZPATH, got: )rrrr�normpathrrZ
startswith)rZ_baseZnew_pathZresolvedrrr
rOs��
�rc	CsXddlm}t�}zP|�dd��0}|D]}|��}|r&|�|�q&Wd�n1sV0YWnttfyxYn0dd�}tD]�}t	j
�|�s�q�t	�|�D]�\}}}||kr�d|vr�|�
d�d	|vr�|�
d	�|D]^}	t	j
�||	�}
t	j
j|
|d
�}t	jdk�r|�t	jd�}|r�||v�r(q�||
�r�|�|�q�q�q�d|v�rT|�
d�|S)
a"Returns a set containing all available time zones.

    .. caution::

        This may attempt to open a large number of files, since the best way to
        determine if a given file on the time zone search path is to open it
        and check for the "magic string" at the beginning.
    r)�	resourcesZtzdataZzonesNcSsXz>t|d�� }|�d�dkWd�WS1s20YWntyRYdS0dS)NZrbisTZifF)ZopenZreadZ	Exception)�fpath�frrr
�	valid_key�s
2z&available_timezones.<locals>.valid_keyZrightZposix)Zstartz/Z
posixrules)Z	importlibrZsetZ	open_textZstripZaddZImportErrorZFileNotFoundErrorrrrZexistsZwalkZremoverZrelpathZsepZreplace)rZvalid_zonesrZzonerZtz_rootZrootZdirnamesZfilesZfilerrrrr
�available_timezonesis@	.



rc@seZdZdZdS)rz?Warning raised if an invalid path is specified in PYTHONTZPATH.N)Z__name__Z
__module__Z__qualname__Z__doc__rrrr
r�srrr)rrrrrrrrrZ
_TEST_PATHrrZRuntimeWarningrrrrrr
Z<module>s
A