Viewing File: /opt/hc_python/lib/python3.12/site-packages/packaging/licenses/__pycache__/__init__.cpython-312.pyc

�

`�*j}���ddlmZddlZddlmZmZddlmZmZgd�Z	d
d�Z
ejd�Zed	e
�Z	Gd
�de�Z				dd�Zy)�)�annotationsN)�NewType�cast�)�
EXCEPTIONS�LICENSES)�InvalidLicenseExpression�NormalizedLicenseExpression�canonicalize_license_expressionc��tS)N)�__all__���J/opt/hc_python/lib/python3.12/site-packages/packaging/licenses/__init__.py�__dir__r/s���Nrz^[A-Za-z0-9.-]*$r
c��eZdZdZy)r	a<Raised when a license-expression string is invalid

    >>> from packaging.licenses import canonicalize_license_expression
    >>> canonicalize_license_expression("invalid")
    Traceback (most recent call last):
        ...
    packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
    N)�__name__�
__module__�__qualname__�__doc__rrrr	r	<s��rr	c	��|sd|��}t|��|jdd�jdd�}d}|j�D�cic]O}|j�j	|j��r |j�d|t|�dz��Q}}|j�}|j�}g}|D]m}|dvr|j
d	��|d
k(r|j
d��0|dk(r	|r|dd
vs|dk(r|r|ddk(rd|��}t|��|j
|��odj|�}		t|	dd�g}
|D�]}|dvr |
j
|j���(|
r<|
ddk(r4|tvrd|��}t|��|
j
t|d��f|jd�r|dd}d}n|}d}|j	d�r=tj|�sd|��}t|��|
j
|||z���|tvrd|��}t|��|
j
t|d|z���	dj|
�}
t!d|
jdd�jdd��Scc}w#t$rd|��}t|�d�wxYw)a�
    This function takes a valid License-Expression, and returns the normalized
    form of it.

    The return type is typed as :class:`NormalizedLicenseExpression`. This
    allows type checkers to help require that a string has passed through this
    function before use.

    :param str raw_license_expression: The License-Expression to canonicalize.
    :raises InvalidLicenseExpression: If the License-Expression is invalid due to an
        invalid/unknown license identifier or invalid syntax.

    .. doctest::

        >>> from packaging.licenses import canonicalize_license_expression
        >>> canonicalize_license_expression("mit")
        'MIT'
        >>> canonicalize_license_expression("mit and (apache-2.0 or bsd-2-clause)")
        'MIT AND (Apache-2.0 OR BSD-2-Clause)'
        >>> canonicalize_license_expression("(mit")
        Traceback (most recent call last):
          ...
        InvalidLicenseExpression: Invalid license expression: '(mit'
        >>> canonicalize_license_expression("Use-it-after-midnight")
        Traceback (most recent call last):
          ...
        InvalidLicenseExpression: Unknown license: 'Use-it-after-midnight'
    zInvalid license expression: �(z ( �)z ) zLicenseRef-N>rr�or�and�with�Falserr���>rrr� ��eval�WITHzUnknown license exception: �id�+zlicenseref-zInvalid licenseref: zUnknown license: r
z( z ))r	�replace�split�lower�
startswith�len�append�join�compile�SyntaxError�upperr�endswith�license_ref_allowed�matchrr)�raw_license_expression�message�license_expression�licenseref_prefix�ref�license_refs�tokens�
python_tokens�token�python_expression�normalized_tokens�final_token�suffix�normalized_expressions              rrrGs��>"�0�1G�0J�K��&�w�/�/�0�7�7��U�C�K�K�C�QV�W��%��&�+�+�-��-�C��9�9�;�!�!�"3�"9�"9�";�<�	�	�	��]�S��->�)?�)A�%B�B�B�-���,�1�1�3��
�
%�
%�
'�F��M����7�7�� � ��)�
�f�_�� � ��&��S�L���b�!�);�;��s�l�}��r�1B�c�1I�4�5K�4N�O�G�*�7�3�3�� � ��'������/��:��!�2�v�.������3�3��$�$�U�[�[�]�3���!2�2�!6�&�!@��J�&�7��y�A��.�w�7�7��$�$�Z��%6�t�%<�=��~�~�c�"�#�C�R�j����#�����%�%�m�4�*�0�0��=� 4�[�O�D�G�2�7�;�;�!�(�(��k�)B�V�)K�L��h�.� 1�+��A�G�2�7�;�;�!�(�(��+�)>�t�)D�v�)M�N�9�< �H�H�%6�7���%��%�%�d�C�0�8�8��s�C����S��F�:�0�1G�0J�K��&�w�/�T�9�:�s�	AJ�
J"�"J=)�returnz	list[str])r2�strr@r
)�
__future__r�re�typingrr�_spdxrrr
rr,r0rAr
�
ValueErrorr	rrrr�<module>rGsk��@#�	� �'����!�b�j�j�!3�4��%�&C�S�I����z��s��s� �sr
Back to Directory File Manager