add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�WcW4cs��dZddlZddlZddlZddlmZddlmZgd�ZGd�d�Z	dd
�Z
d�Zejdej�jZd
�Zd�Zedkr`eej(�dkree	��dSej(dZee�5Zee	ee��ddd�dSdS#1swYdSxYw)�8A lexical analyzer class for simple shell-like syntaxes.�N)�deque)�StringIO)�shlex�split�quote�joincsj�eZdZdZ		dd�Zed��Zd�Zdd�Zd�Z	d	�Z
d
�Zd�Zdd�Z
d
�Zd�ZdS)rrNFcs�t|t�r
t|�}|�||_||_nt
j|_d|_||_|rd|_nd|_d|_	d|_
|jr|xjdz
c_
d|_d|_d|_
d|_d	|_d
|_t#�|_d|_d|_d|_t#�|_d|_|sd}n|d
urd}||_|rzt#�|_|xjdz
c_
|jj5t6j9|��}|jj;|�|_
dSdS)N�z#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz 	
Fz'"z\�"� �rTz();<>|&z~-./*?=)�
isinstance�strr�instream�infile�sysZstdin�posix�eof�
commenters�	wordchars�
whitespace�whitespace_split�quotes�escape�
escapedquotes�stater�pushback�lineno�debug�token�	filestack�source�_punctuation_chars�_pushback_charsZ	maketransZdictZfromkeysZ	translate)�selfrrr�punctuation_charsZt�      �/usr/lib64/python3.12/shlex.py�__init__zshlex.__init__st���h��$�$���)�H���$�D�M� �D�K�K��I�I�D�M��D�K���
��5��D�H�H��D�H����B����:�:�:��N�N�N� ^�
_�N�N�#��� %��������� �����
����
������
���
�������� � � "���
�$�
&�
&� )��"3�����#(�7�D� ��N�N�N�i�'�N�N����(�(����7H�)I�J�A�!�^�^�5�5�a�8�D�N�N�N���cs�|jS�N)r!�r#� r&r$zshlex.punctuation_charsDs���&�&�&r(cs��|jdkrtdt|�z�|jj	|�dS)z:Push a token onto the stack popped by the get_token methodrzshlex: pushing token N)r�print�reprr�
appendleft)r#�tok�  r&�
push_tokenzshlex.push_tokenHs?���:�:��?�?��)�D��I�5�6�6��
�
� � ��%�%�%�%r(csv�t|t�r
t|�}|jj	|j
|j|jf�||_||_d|_|jr:|�td|j
���dStd|j���dSdS)z9Push an input source onto the lexer's input source stack.rNzshlex: pushing to file zshlex: pushing to stream )
rr
rrr.rrrrr,)r#�	newstream�newfile�   r&�push_sourcezshlex.push_sourceNs����i��%�%� ��+�I����!�!�4�;�;��
�
�t�{�{�"K�L�L����!��
�����:�:�:��"���T�[�[�[�B�C�C�C�C���t�}�}�}�F�G�G�G�G�	�:r(cs
�|jj�|jj�\|_|_|_|jr&td|j|j
fz�d|_dS)zPop the input source stack.zshlex: popping to %s, line %dr
N)	rZcloser�popleftrrrr,rr*r+r&�
pop_sourcezshlex.pop_source\sm���
�
�����48�N�N�4J�4J�4L�1���d�m�T�[��:�:�:��1��]�]�D�K�K�0�1�
2�
2���
�
�
r(cs�|jrH|jj�}|jdkrtdt	|�z�|S|j�}|j�m||jkr]|j|j��}|r|\}}|j||�|j�}||jkr�]||jkrK|js|jS|j�|j�}||jkr�K|jdkr:||jkrtdt	|�z�|Std�|S)zBGet a token from the input stream (or from stack if it's nonempty)rzshlex: popping token Nz
shlex: token=zshlex: token=EOF)
rr6rr,r-�
read_tokenr �
sourcehookr5�	get_tokenrrr7)r#r/ZrawZspecr3r2r%r&r:zshlex.get_tokenesR���=�=�=��-�-�'�'�)�C��z�z�Q����-��S�	�9�:�:��J��o�o����;�;�"�����$�$����t���'8�9���4�+/�(�W�i��$�$�Y��8�8��n�n�&������$�$���T�X�X�o�o��>�>�>��x�x�����!�!��n�n�&���T�X�X�o�o���:�:��?�?��d�h�h����o��S�	�1�2�2��
��(�)�)��
r(cs��d}d}	|jr(|jr|jj�}n|jj	d�}|dkr|xj
dz
c_|jdkrtd|j�d|���|j�	d	|_	�nY|jdk�r`|s	d|_�n=||jvr;|jd
kr
td�|js|jr|r�n���||jvr2|jj�|xj
dz
c_�n�|jr||jvrd}||_�n�||jvr||_	d|_�no||jvr||_	d
|_�nQ||j vr|js||_	||_�n'|j"r||_	d|_�n||_	|js|jr|r�n��|j|j vr�d}|s*|jd
kr
td�t%d��||jkr3|js|xj|z
c_	d|_�nhd|_�n]|jr;||jvr-|j|j&vr|j}||_�n|xj|z
c_	�n�|j|jvr�|s*|jd
kr
td�t%d��||j vr5||jkr%||kr|xj|jz
c_	|xj|z
c_	||_�nZ|jdv�rK|s	d|_�nB||jvrB|jd
kr
td�d|_|js|jr|r�n���||jvrb|jj�|xj
dz
c_|j�r�d|_|js|jr|r�n����|jd
krX||jvr|xj|z
c_	�nK||jvr|jj)|�d|_�n|jr||j vr||_n�|jr||jvr
d}||_n�||jvs(||j vs|j"r$||jvr|xj|z
c_	n�|jr|jj)|�n|j*j-|�|jd
kr
td�d|_|js|jr|rn����|j}d	|_	|jr
|s|d	krd}|jdkr,|rtdt/|�z�|Std�|S)NFr
Trz
izshlex: in state z I see character: riz+shlex: I see whitespace in whitespace state�a�cz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)r;r<z%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r$r"ZpoprZreadrrr,rrrrrZreadlinerrrr�
ValueErrorrZappendrr.r-)r#ZquotedZescapedstateZnextcharZresults     r&r8zshlex.read_token�s-��������%�%�%�$�*>�*>�*>��/�/�3�3�5����=�=�-�-�a�0���4�������q� ����z�z�Q�����$�*�*�*�*�BJ�(�L�M�M��z�z�!���
�����s�"�"��x�!%�D�J������0�0��z�z�Q����K�L�L��z�z�z�d�j�j�j�V�V�� �����0�0��M�M�*�*�,�,��K�K�K�1�$�K�K�K��Z�Z�Z�H����$;�$;�#&�L�!)�D�J�J�����/�/�!)�D�J�!$�D�J�J���!7�!7�7�7�!)�D�J�!$�D�J�J�����,�,��:�:�:�%-��
�!)�D�J�J��*�*�*�!)�D�J�!$�D�J�J�!)�D�J��z�z�z�d�j�j�j�V�V�� ����t�{�{�*�*����x��z�z�Q����@�A�A�$�%;�<�<��t�z�z�)�)��:�:�:��
�
�
�h�.�
�
�%(��
��%(��
�
��j�j�j�X����%<�%<�����+�+�B,�B,�#'�:�:�L�!)�D�J�J��J�J�J�(�*�J�J�J����t�{�{�*�*��x��z�z�Q����@�A�A�$�%;�<�<�!�D�K�K�/�/� �D�J�J�.�.�8�|�3K�3K��J�J�J�$�*�*�,�J�J��
�
�
�h�&�
�
�)��
�
����z�)�)��x�!%�D�J������0�0��z�z�Q����E�F�F�!$�D�J��z�z�z�d�j�j�j�V�V�� �����0�0��M�M�*�*�,�,��K�K�K�1�$�K�K��z�z�z�%(��
��:�:�:�$�*�*�*���!�$��Z�Z�3�&�&��4�#9�#9�9�9��
�
�
�h�.�
�
�
�#�4�?�?�:�:� �0�0�7�7��A�A�%(��
���Z�Z�Z�H����$;�$;�!)�D�J�J��Z�Z�Z�H����$;�$;�#&�L�!)�D�J�J��$�.�.�0�0�H����4K�4K��/�/�/�"�$�*@�*@�@�@��J�J�J�(�*�J�J�J��-�-�-��,�,�3�3�H�=�=�=��
�
�0�0��:�:��z�z�Q����F�G�G�!$�D�J��z�z�z�d�j�j�j�V�V�� �G�H������
��:�:�:�f�f��2����F��:�:��>�>��v��)�D��L�8�9�9��
��,�-�-��
r(csV�|ddkr|dd}t|jt�rltjj|�sKtjj
tjj|j�|�}|t|d�fS)z(Hook called on a filename to be sourced.rr	ri����Zr)	rrr
�osZpathZisabsrZdirname�open)r#r3r0r&r9zshlex.sourcehooksv���1�:�����a��m�G��d�k�k�3�'�'����
�
�g�0F�0F��g�g�l�l�2�7�7�?�?�4�;�;�#?��I�G���g�s�+�,�,r(csH�|�|j}|�|j}d||fzS)z<Emit a C-compiler-like, Emacs-friendly error-message leader.Nz"%s", line %d: )rr)r#rrr4r&�error_leaderzshlex.error_leader s.���>��[�[�F��>��[�[�F�"�f�f�%5�5�5r(cs�|Sr)�r*r+r&�__iter__zshlex.__iter__(s���r(csV�|j�}||jkrt�|Sr))r:rZ
StopIteration)r#rr0r&�__next__zshlex.__next__+s(����� ���D�H�H������r()NNFFr))NN)�__name__Z
__module__Z__qualname__�__doc__r'Zpropertyr$r1r5r7r:r8r9r@rBrCrAr(r&rrs�������>�>�9>�#(�-9�-9�-9�-9�^�'�'��'�&�&�&�H�H�H�H�������@P�P�P�d-�-�-�6�6�6�6��������r(rFTcsx�|�
td��t||��}d|_|sd|_t	|�S)z-Split the string *s* using shell-like syntax.Nzs argument must not be None)rTr)r=rrrZlist)�sZcommentsrZlexs    r&rr1s@���y��6�7�7�
���
�
�C��C���8������9�r(cs6�djd�|D��S)z3Return a shell-escaped string from *split_command*.r
c3s2K�|]}t|����dSr))r)Z.0Zargr0r&z	<genexpr>zjoin.<locals>.<genexpr>>s"����8�8�3�E�#�J�J�J�J�J�8�8r()r)Z
split_commandr+r&rr<s���8�8�8�8�-�8�8�8�8r(z[^\w@%+=:,./-]csZ�|sdSt|��|Sd|jdd�zdzS)z1Return a shell-escaped version of the string *s*.z''Nz'z'"'"')�_find_unsafeZreplace)rFr+r&rrCs8���1��t��A���������3�	�*�*�S�0�0r(csf�	|j�}|sdStdt|�z��1)NrzToken: )r:r,r-)ZlexerZttr0r&�
_print_tokensrHOs4��
�
�_�_�
���r��E�
�i�$�r�(�"�#�#�	r(Z__main__r)FT)rEr>ZrerZcollectionsrZiorZ__all__rrrZcompileZASCIIZsearchrGrrHrDZlenZargvZfnr?ZfrAr(r&�<module>rIs���>�>�
�	�	�	�	�	�	�	�
�
�
�
�������������
-�
-�
-��\�\�\�\�\�\�\�|����9�9�9�
�r�z�z�+�R�X�X�6�=�=��	1�	1�	1�$�$�$��z���
�s�3�8�8�}�����
�e�e�g�����
�X�X�a�[��
�T�"�X�	(���M�%�%��2�,�'�'�	(�	(�	(�	(�	(�	(�	(���
	(�	(�	(�	(�	(�	(�	(�	(�	(�	(���s�(C�C