add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�Wc�$cs&�	ddlZddlZddlZddgZdZej
eed��d�Zejd�jZ
Gd	�d
e�Zd�Z
d�Zd
�Zd�Zd�Zd�Zddgfd�Zdd�Zgfd�Zd�Zd�Zd�Zedkr
e�dSdS)�N�getcaps�	findmatchztThe {name} module is deprecated and will be removed in Python {remove}. See the mimetypes module for an alternative.)ii
)Zremovecs"�d|vr
d|dfSdS)N�linenor)�r�)Zentrys � /usr/lib64/python3.12/mailcap.py�lineno_sort_keyrs!���5����%��/�!�!��t�z[^\xa1-\U0010FFFF\w@+=:,./-]cs�eZdZdS)�UnsafeMailcapInputN)�__name__Z
__module__Z__qualname__rrrr	r	s������3�3rr	cs �	i}d}t�D]^}	t|d�}|5t||�\}}ddd�j	�D]\}}||vr|||<�|||z||<��`|S#t$rY�nwxYw#1swY�LxYw)NrZr)�listmailcapfilesZopenZOSError�_readmailcapfileZitems)�capsrZmailcap�fpZmorecaps�keyZvalues       rrrs����D�
�F�#�%�.�.��	��g�s�#�B��	<�	<�/��F�;��H�f�	<�	<�	<�	<�	<�"�.�.�*�	.�	.�J�C���$�;�;�!��S�	�	� ��I��-��S�	�	�		.�
�K���	�	�	��H�	����	<�	<�	<�	<�	<�	<�	<�	<�	<���s�A4�B�4
B�B�B
	cs�	dtjvr:tjd}|jtj�}|Sdtjvrtjd}nd}|dzdddg}|S)NZMAILCAPSZHOMEz.z	/.mailcapz/etc/mailcapz/usr/etc/mailcapz/usr/local/etc/mailcap)�osZenviron�splitZpathsep)ZpathstrZmailcapsZhome�   rrr9s��A��R�Z�Z����*�*�Z�(���=�=����,���O��R�Z�Z����:�:�f�%�D�D��D��;�&��"�$<�>���Orcsf�	tjdtd�t|d�\}}|S)Nz2readmailcapfile is deprecated, use getcaps instead�)�warnings�warnZDeprecationWarningr)rr
Z_rr�readmailcapfilerKs3��I��M�M�F�$�a�)�)��r�4�(�G�D�!��Krcs@�	i}	|j�}|s	||fS|ddks|j�dkr�;|}|dddkr'|j�}|sd}|dd|z}|dddkr�'t|�\}}|r|s��|�
||d<|dz
}|jd	�}t	t|��D]}||j�||<�d	j
|�j�}||vr||j|�n|g||<��)
Nrrz#�i����z\
z
r�/)	Zreadline�strip�	parseliner�range�lenZjoin�lower�append)	rrr
�lineZnextliner�fieldsZtypesZj�	         rrrSsU����D�
��{�{�}���t�U�6��<��3��7�c�>�>�T�Z�Z�\�R�/�/�����r�s�m�v�%�%��{�{�}�H��8��X����9�x�'�D��r�s�m�v�%�%��
 ��o���V��������%�F�8���a�K�F��	�	�#����s�5�z�"�	(�	(�A��Q�x�~�~�'�E�!�H�H��h�h�u�o�#�#�%���$�;�;���I���V�$�$�$���D��I�9rcs��	g}dt|�}}||kr0t|||�\}}|j|�|dz}||kr�0t|�dkrdS|d|d|dd}}}d|i}|D]T}|jd�}|dkr|}d}	n+|d|j	�}||dzdj	�}	||vr�P|	||<�V||fS)Nrrr�NN�view�=r)r�
parsefieldrZfindr)
rr �i�n�fieldrr#ZrestZfkeyZfvalue�
          rrr|s���
�F��c�$�i�q�A�
�a�%�%��d�A�q�)���q��
�
�e���
�a�C���a�%�%���6�{�Q����z��Q�i����F�1�2�J�t��C��d�^�F��"�"���J�J�s�O���q�5�5��D��F�F���!�9�?�?�$�D��1�Q�3�4�[�&�&�(�F��6�>�>��!�F�4�L�L���;�rcs��	|}||kr'||}|dkrn|dkr|dz}n|dz}||kr�'|||j�|fS)Nz;�\rr)r)rr&r'�start�cs     rr%r%�sm��9�
�E�
�a�%�%���G����8�8��
�$�Y�Y��!��A�A��!��A��a�%�%����a�=��� �!�#�#rr#z	/dev/nullcsF�	t|�r%d|�d�}tj|t�dSt	|||�}|D]Z}d|vr6t|d||�}|��|rt
j|�dkr�=t|||||�}	|	��V|	|fcSdS)Nz&Refusing to use mailcap with filename z . Use a safe temporary filename.r"�testr)�_find_unsaferrr	�lookup�substr�system)
r
�MIMEtyper�filename�plist�msg�entries�er-�commandr)rrr�s�����H����\d�\d�\d�f���
�
�c�-�.�.��z��T�8�S�)�G�
�	�	���Q�;�;���6��H�e�4�D��|���t��	�	�$��1�,�,����#���(�E�:������A�:�����:rcs���g}||vr|||z}|jd�}|ddz}||vr|||z}���fd�|D�}t|t��}|S)Nrrz/*cs ��g|]	}�|vs�|��Srr)Z.0r7rs  �rz
<listcomp>zlookup.<locals>.<listcomp>�s ���2�2�2�������1�1�1�2r)r)r�sortedr)r
r2rr6Z	MIMEtypess  `  rr/r/�s�����G��4����D��N�*�����s�#�I���|�d�"�H��4����D��N�*��
��2�2�2�2�g�2�2���W�/�2�2�G��Nrcs~�d}dt|�}}||k�r$||}|dz}|dkr|dkr
|||dz}|dz}||z}n�||}|dz}|dkr||z}n�|dkr||z}n�|dkr8t|�r%d|�d	�}tj|t�dS||z}n�|d
kr|}	||kr$||dkr|dz}||kr
||dkr�||	|}
|dz}t|
|�}t|�r(d|�d
|
�d�}tj|t�dS||z}n|dz|z}||kr��$|S)Nrrrz%r*ZsZtz!Refusing to substitute MIME type z into a shell command.z{z}z!Refusing to substitute parameter z (z) into a shell command)rr.rrr	�	findparam)r(r2r3r4Zresr&r'r,r5r+�nameZparams            rr0r0�s���
�C��c�%�j�q�A�
�a�%�%��!�H��!�A�#�a���8�8��D�y�y��!�A�a�C�L��a��c�!���'�C�C��a��A�a��c�!��C�x�x��A�g����c����H�n����c�����)�)�)�Ya�Ya�Ya�c�C��M�M�#�'9�:�:��4��H�n����c������!�e�e��a��C����!��A��!�e�e��a��C�����U�1�~���a�C��!�$��.����&�&�&�]b�]b�]b�dh�dh�dh�i�C��M�M�#�'9�:�:��4��E�k���
�C�i�!�m��E�a�%�%��F�Jrcs��|j�dz}t|�}|D]!}|d|j�|ks�||dcSdS)Nr$r)rr)r;r4r'Zps    rr:r:�sV���:�:�<�#��D��D�	�A�
�����R�a�5�;�;�=�D� � ���Q�R�5�L�L�L�
�2rcs$�ddl}t�}|jddst|�dSt	dt|j�d�D]�}|j||dz}t|�dkrt
d�dS|d}|d}t||d|�\}}|st
dt��ot
d|�tj|�}tj|�}|s��t
d|���dS)	Nrrrz"usage: mailcap [MIMEtype file] ...r#zNo viewer found forz
Executing:zExit status:)�sysrZargv�showrr�printr�typerr1Zwaitstatus_to_exitcode)	r<r
r&Zargsr2Zfiler8r7Zstsr!rr-r-s	���J�J�J��9�D��8�8�A�B�<�<��T�
�
���
�1�c�#�(�(�m�Q�
'�+�+���x�x��!�A�#����t�9�q�=�=��6�7�7��F�F���7���A�w���t�X�v�t�<�
����w��'��.�.�.��,��(�(��)�)�G�$�C��+�+�C�0�C��s���n�c�*�*�*�+�+rcs��td�t�D]}td|z��t�|st�}td�t�t|�}|D]S}t|�||}|D]8}t|�}|D]}td|z||��t��:�UdS)NzMailcap files:z	zMailcap entries:z  %-15s)r>rrr9)r
ZfnZckeysr?r6r7ZkeysZks        rr=r=s���	�
���� �2�2��%��r�	�"2�"2�"2�	�G�G��4��	��	�
���	�G�G��4�L�E�����
�d����t�*���	�	�A��!�9�D��
+�
+���i�!�m�Q�q�T�*�*�*��G�G�G�		��rZ__main__)N)rrZreZ__all__Z_DEPRECATION_MSGZ_deprecatedr
rZcompileZsearchr.ZWarningr	rrrrrr%rr/r0r:r-r=rrr�<module>r@s���+�	�	�	�	�����	�	�	�	��[�
!��#������X�/��@�@�@�����r�z�z�9�:�A�A��4�4�4�4�4��4�4����4���$���'�'�'�R���>$�$�$� #)�;�b�����6����,.�'�'�'�'�R���+�+�+�.���"�z����D�F�F�F�F��r