File: //lib/python3/dist-packages/virtualenv/discovery/__pycache__/py_spec.cpython-310.pyc
o
$�"b� � @ sx d Z ddlmZmZ ddlZddlZddlZddlmZ ddl m
Z
ddlmZ e�
d�ZejdkZG d d
� d
e�ZdS )zMA Python specification is an abstract requirement definition of a interpreter� )�absolute_import�unicode_literalsN)�OrderedDict)�fs_is_case_sensitive)�
ensure_strz@^(?P<impl>[a-zA-Z]+)?(?P<version>[0-9.]+)?(?:-(?P<arch>32|64))?$�win32c @ sP e Zd ZdZdd� Zedd� �Zdd� Zedd � �Z d
d� Z
dd
� Zdd� ZdS )�
PythonSpecz1Contains specification about a Python Interpreterc C s. || _ || _|| _|| _|| _|| _|| _d S �N)�str_spec�implementation�major�minor�micro�architecture�path)�selfr
r r r
r r r � r �>/usr/lib/python3/dist-packages/virtualenv/discovery/py_spec.py�__init__ s
zPythonSpec.__init__c C sL d\}}}}}}t j�|�r|}n�d}t�t|�} | r�dd� }
z[| �� }|d }|d urwtdd� |�d�D ��}
t |
�d kr@t
�t |
�d krL|
\}}}n+t |
�d
krW|
\}}n t |
�dkrw|
d }tt|�d �}|d
krwtt|�dd � �}d}W n t
y� Y nw |d }|dks�|dkr�d}|
|d �}|s�|}| |||||||�S )N)NNNNNNFc S s | d u rd S t | �S r ��int)�valr r r �_int_or_none&