� !A?h���dZddlmZddlmZ ddlmZddlmZddl m Z ddl m Z Gd�d e��Z d Z n #e$rd Z YnwxYwGd �d e��ZdS)zCdistutils.command.check Implements the Distutils 'check' command. �)�Command)�DistutilsSetupError)�Reporter)�Parser)�frontend)�nodesc� �eZdZ dd�Zd�ZdS)�SilentReporterNr�ascii�replacec �J�g|_tj||||||||��dS�N)�messagesr�__init__)�self�source� report_level� halt_level�stream�debug�encoding� error_handlers �D/opt/alt/python-internal/lib64/python3.11/distutils/command/check.pyrzSilentReporter.__init__s9���D�M� � �d�F�L�*�f�#�X�}� >� >� >� >� >�c��|j�||||f��tj|g|�R||j|d�|��S)N)�level�type)r�appendr�system_message�levels)rr�message�children�kwargss rrzSilentReporter.system_messagesc�� �M� � �%��(�F�!C� D� D� D��'��=�)1�=�=�u�-1�[��-?�=�=�5;�=�=� =r)Nrr r )�__name__� __module__� __qualname__rr�rrr r s=������DH�>G� >� >� >� >�  =� =� =� =� =rr TFc�P�eZdZdZdZgd�Zgd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d S) �checkz6This command checks the meta-data of the package. z"perform some checks on the package))�metadata�mzVerify meta-data)�restructuredtext�rzEChecks if long string meta-data syntax are reStructuredText-compliant)�strict�sz(Will exit with an error if a check fails)r*r,r.c�>�d|_d|_d|_d|_dS)z Sets default values for options.r�N)r,r*r.� _warnings�rs r�initialize_optionszcheck.initialize_options0s#�� !����� ��� �����rc��dSrr'r3s r�finalize_optionszcheck.finalize_options7s�� �rc�L�|xjdz c_tj||��S)z*Counts the number of warnings that occurs.r1)r2r�warn)r�msgs rr8z check.warn:s$�� ���!�����|�D�#�&�&�&rc���|jr|���|jr2tr|���n|jrt d���|jr|jdkrt d���dSdS)zRuns the command.zThe docutils package is needed.rzPlease correct your package.N)r*�check_metadatar,� HAS_DOCUTILS�check_restructuredtextr.rr2r3s r�runz check.run?s��� �=� "� � � � !� !� !� � � M�� M��+�+�-�-�-�-��� M�)�*K�L�L�L� �;� F�4�>�A�-�-�%�&D�E�E� E� F� F�-�-rc��|jj}g}dD]7}t||��rt||��s|�|���8|r+|�dd�|��z��|jr |js|�d��dSdS|j r |j s|�d��dSdS|�d��dS)a Ensures that all required elements of meta-data are supplied. Required fields: name, version, URL Recommended fields: (author and author_email) or (maintainer and maintainer_email) Warns if any are missing. )�name�version�urlzmissing required meta-data: %sz, zNmissing meta-data: if 'author' supplied, 'author_email' should be supplied toozVmissing meta-data: if 'maintainer' supplied, 'maintainer_email' should be supplied toozkmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be suppliedN) � distributionr*�hasattr�getattrrr8�join�author� author_email� maintainer�maintainer_email)rr*�missing�attrs rr;zcheck.check_metadataOsJ���$�-����.� %� %�D��H�d�+�+� %���$�0G�0G� %����t�$�$�$�� � N� �I�I�6�$�)�)�G�:L�:L�L� M� M� M� �?� ,��(� C�� � �B�C�C�C�C�C� C� C�� � ,��,� G�� � �F�G�G�G�G�G� G� G� �I�I�+� ,� ,� ,� ,� ,rc���|j���}|�|��D]K}|d�d��}|� |d}n|d�d|�d�}|�|���LdS)z4Checks if the long string fields are reST-compliant.������lineNr1z (line �))rC�get_long_description�_check_rst_data�getr8)r�data�warningrOs rr=zcheck.check_restructuredtextps���� �5�5�7�7���+�+�D�1�1� � �G��2�;�?�?�6�*�*�D��|�!�!�*���,3�A�J�J�J����=�� �I�I�g� � � � �  � rc ��|jjpd}t��} tj}|t��}n=#t $r0tjtf������}YnwxYwd|_d|_ d|_ t||j |j |j|j|j|j���}t%j|||���}|�|d�� |�||��n8#t $r+}|j�dd|zd if��Yd}~nd}~wwxYw|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py)� components�N)rrrr)rrNz!Could not finish the parsing: %s.�)rC� script_namerr�get_default_settings�AttributeError� OptionParser�get_default_values� tab_width�pep_references�rfc_referencesr rr�warning_streamr�error_encoding�error_encoding_error_handlerr�document� note_source�parserr) rrT� source_path�parserr[�settings�reporterre�es rrRzcheck._check_rst_data{s����'�3�A�z� ����� 4�#+�#@� � ,�+�F�3�3�H�H�� � X� X� X��,�� �B�B�B�U�U�W�W�H�H�H� X���� ���"&���"&���!�+�"�/�"�-�!)�!8� (��#+�#:�(0�(M� O�O�O���>�(�H�[�I�I�I�����[�"�-�-�-� G� �L�L��x� (� (� (� (��� G� G� G� � � $� $��8�1�<�b�"�E� G� G� G� G� G� G� G� G����� G����� � s'� ;�7A5�4A5�/D� D;�!D6�6D;N)r$r%r&�__doc__� description� user_options�boolean_optionsr4r6r8r>r;r=rRr'rrr)r)#s���������7�K�B�B�B�L�A�@�@�O���� � � �'�'�'� F�F�F� ,�,�,�B � � �!�!�!�!�!rr)N)rm�distutils.corer�distutils.errorsr�docutils.utilsr�docutils.parsers.rstr�docutilsrrr r<� Exceptionr)r'rr�rws����#�"�"�"�"�"�0�0�0�0�0�0��'�'�'�'�'�'�+�+�+�+�+�+�!�!�!�!�!�!������� =� =� =� =� =�� =� =� =��L�L�������L�L�L����� w!�w!�w!�w!�w!�G�w!�w!�w!�w!�w!s�(9�A�A