<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    a                 @   s   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ e	eG dd	 d	eZe	eG d
d deZe	eG dd deZe	eG dd deZe	eG dd deZdS )    )absolute_importprint_functionunicode_literals)ABCMeta)OrderedDict)add_metaclass)IS_WIN)Path)ensure_textc               @   s   e Zd ZdZerdndZdd Zedd Zedd	 Z	ed
d Z
edd Zedd Zedd Zedd Zedd Zdd Zedd Zedd Zedd Zedd Zd d! Zd"S )#Describez_Given a host interpreter tell us information about what the created interpreter might look likez.exe c             C   s(   || _ || _d | _d | _d | _d | _d S )N)interpreterdest_stdlib_stdlib_platformZ_system_stdlib
_conf_vars)selfr   r    r   K/opt/alt/python37/lib/python3.7/site-packages/virtualenv/create/describe.py__init__   s    zDescribe.__init__c             C   s   | j S )N)
script_dir)r   r   r   r   bin_dir   s    zDescribe.bin_dirc             C   s   | j | jd S )Nscripts)r   r   install_path)r   r   r   r   r      s    zDescribe.script_dirc             C   s   | j | jd S )Npurelib)r   r   r   )r   r   r   r   r   #   s    zDescribe.purelibc             C   s   | j | jd S )Nplatlib)r   r   r   )r   r   r   r   r   '   s    zDescribe.platlibc             C   s    t t| jd f| jd ff S )N)listr   r   r   keys)r   r   r   r   libs+   s    zDescribe.libsc             C   s(   | j d kr"t| jjd| jd| _ | j S )Nstdlib)
config_var)r   r	   r   sysconfig_path_config_vars)r   r   r   r   r   /   s    
zDescribe.stdlibc             C   s(   | j d kr"t| jjd| jd| _ | j S )N
platstdlib)r    )r   r	   r   r!   r"   )r   r   r   r   stdlib_platform5   s    
zDescribe.stdlib_platformc             C   s&   | j d kr | tt| j| _ | j S )N)r   _calc_config_varsr
   strr   )r   r   r   r   r"   ;   s    
zDescribe._config_varsc                s    fdd j j D S )Nc                s(   i | ] \}}|  jjrn||qS r   )
startswithr   prefix).0kv)r   tor   r   
<dictcomp>B   s   z.Describe._calc_config_vars.<locals>.<dictcomp>)r   Zsysconfig_varsitems)r   r,   r   )r   r,   r   r%   A   s    zDescribe._calc_config_varsc             C   s   dS )z-Knows means it knows how the output will lookTr   )clsr   r   r   r   can_describeF   s    zDescribe.can_describec             C   s   t | jjd S )N)r
   r   parts)r   r   r   r   env_nameK   s    zDescribe.env_namec             C   s   | j d|  | j S )Nz{}{})r   formatexe_stemsuffix)r   r   r   r   exeO   s    zDescribe.exec             C   s   t dS )zbexecutable name without suffix - there seems to be no standard way to get this without creating itN)NotImplementedError)r/   r   r   r   r5   S   s    zDescribe.exe_stemc             C   s   | j d|| j S )Nz{}{})r   r4   r6   )r   namer   r   r   scriptX   s    zDescribe.scriptN)__name__
__module____qualname____doc__r   r6   r   propertyr   r   r   r   r   r   r$   r"   r%   classmethodr0   r3   r7   r5   r:   r   r   r   r   r      s"   r   c                   s    e Zd Ze fddZ  ZS )Python2Supportsc                s   |j jdkott| |S )N   )version_infomajorsuperrA   r0   )r/   r   )	__class__r   r   r0   ^   s    zPython2Supports.can_describe)r;   r<   r=   r@   r0   __classcell__r   r   )rF   r   rA   \   s   rA   c                   s    e Zd Ze fddZ  ZS )Python3Supportsc                s   |j jdkott| |S )N   )rC   rD   rE   rH   r0   )r/   r   )rF   r   r   r0   e   s    zPython3Supports.can_describe)r;   r<   r=   r@   r0   rG   r   r   )rF   r   rH   c   s   rH   c                   s    e Zd Ze fddZ  ZS )PosixSupportsc                s   |j dkott| |S )Nposix)osrE   rJ   r0   )r/   r   )rF   r   r   r0   l   s    zPosixSupports.can_describe)r;   r<   r=   r@   r0   rG   r   r   )rF   r   rJ   j   s   rJ   c                   s    e Zd Ze fddZ  ZS )WindowsSupportsc                s   |j dkott| |S )Nnt)rL   rE   rM   r0   )r/   r   )rF   r   r   r0   s   s    zWindowsSupports.can_describe)r;   r<   r=   r@   r0   rG   r   r   )rF   r   rM   q   s   rM   N)
__future__r   r   r   abcr   collectionsr   Zsixr   Zvirtualenv.infor   Zvirtualenv.util.pathr	   Zvirtualenv.util.sixr
   objectr   rA   rH   rJ   rM   r   r   r   r   <module>   s    N