� !A?h � � � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m Z ddl mZ G d� d e� � Zd Z n # e$ r dZ Y nw xY w G d� d e� � ZdS )zCdistutils.command.check Implements the Distutils 'check' command. � )�Command)�DistutilsSetupError)�Reporter)�Parser)�frontend)�nodesc � � e Zd Z dd�Zd� ZdS )�SilentReporterNr �ascii�replacec �J � g | _ t j | |||||||� � d S �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.pyr zSilentReporter.__init__ s9 � ��D�M���d�F�L�*�f�#�X�}� >� >� >� >� >� c � � | j � ||||f� � t j |g|�R || j | d�|��S )N)�level�type)r �appendr �system_message�levels)r r �message�children�kwargss r r zSilentReporter.system_message sc � ��M� � �%��(�F�!C�D�D�D��'�� =�)1�=� =�u�-1�[��-?�=� =�5;�=� =� =r )Nr r r )�__name__� __module__�__qualname__r r � r r r r s= � � � � � �DH�>G� >� >� >� >� =� =� =� =� =r r TFc �P � e Zd ZdZdZg d�Zg d�Zd� Zd� Zd� Z d� Z d � Zd � Zd� Z dS ) �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�r s r �initialize_optionszcheck.initialize_options0 s# � � !����� ��������r c � � d S r r' r3 s r �finalize_optionszcheck.finalize_options7 s � ��r c �L � | xj dz c_ t j | |� � S )z*Counts the number of warnings that occurs.r1 )r2 r �warn)r �msgs r r8 z check.warn: s$ � ����!�����|�D�#�&�&�&r c �� � | j r| � � � | j r2t r| � � � n| j rt d� � �| j r| j dk rt d� � �dS dS )zRuns the command.zThe docutils package is needed.r zPlease correct your package.N)r* �check_metadatar, �HAS_DOCUTILS�check_restructuredtextr. r r2 r3 s r �runz check.run? s� � � �=� "����!�!�!�� � M�� M��+�+�-�-�-�-��� M�)�*K�L�L�L� �;� F�4�>�A�-�-�%�&D�E�E�E� F� F�-�-r c � � | j j }g }dD ]7}t ||� � rt ||� � s|� |� � �8|r+| � dd� |� � z � � |j r |j s| � d� � dS dS |j r |j s| � d� � dS dS | � 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�getattrr r8 �join�author�author_email� maintainer�maintainer_email)r r* �missing�attrs r r; zcheck.check_metadataO sJ � � �$�-����.� %� %�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� +� ,� ,� ,� ,� ,r c �� � | j � � � }| � |� � D ]K}|d � d� � }|� |d }n|d �d|�d�}| � |� � �LdS )z4Checks if the long string fields are reST-compliant.������lineNr1 z (line �))rC �get_long_description�_check_rst_data�getr8 )r �data�warningrO s r r= zcheck.check_restructuredtextp s� � �� �5�5�7�7���+�+�D�1�1� � �G��2�;�?�?�6�*�*�D��|�!�!�*���,3�A�J�J�J����=���I�I�g����� � r c � � | j j pd}t � � } t j } |t � � }n=# t $ r0 t j t f�� � � � � }Y nw xY wd|_ d|_ d|_ t ||j |j |j |j |j |j �� � }t% j |||�� � }|� |d� � |� ||� � n8# t $ r+}|j � dd|z d i f� � Y d}~nd}~ww xY w|j S ) z8Returns warnings when the provided data doesn't compile.zsetup.py)� components� N)r r r r )r rN z!Could not finish the parsing: %s.� )rC �script_namer r �get_default_settings�AttributeError�OptionParser�get_default_values� tab_width�pep_references�rfc_referencesr r r �warning_streamr �error_encoding�error_encoding_error_handlerr �document�note_source�parser r ) r rT �source_path�parserr[ �settings�reporterre �es r rR zcheck._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&