File: //usr/lib/python3/dist-packages/attr/__pycache__/_version_info.cpython-312.pyc
�
    ��eI  �                   �h   � d dl mZ ddlmZ ddlmZmZ e edddd��       G d� d	�      �       �       Zy
)�    )�total_ordering�   )�astuple)�attrib�attrsFT)�eq�order�slots�frozenc                   �z   � e Zd ZdZ ee��      Z ee��      Z ee��      Z ee	��      Z
ed� �       Zd� Z
d� Zd� Zy)�VersionInfoa�  
    A version object that can be compared to tuple of length 1--4:
    >>> attr.VersionInfo(19, 1, 0, "final")  <= (19, 2)
    True
    >>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1)
    True
    >>> vi = attr.VersionInfo(19, 2, 0, "final")
    >>> vi < (19, 1, 1)
    False
    >>> vi < (19,)
    False
    >>> vi == (19, 2,)
    True
    >>> vi == (19, 2, 1)
    False
    .. versionadded:: 19.2
    )�typec                 ��   � |j                  d�      }t        |�      dk(  r|j                  d�        | t        |d   �      t        |d   �      t        |d   �      |d   ��      S )z6
        Parse *s* and return a _VersionInfo.
        �.�   �finalr   r   �   )�year�minor�micro�releaselevel)�split�len�append�int)�cls�s�vs      �4/usr/lib/python3/dist-packages/attr/_version_info.py�_from_version_stringz VersionInfo._from_version_string&