<!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 d dlZd dlmZ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 G d	d
 d
eZG dd deZG dd deZdS )    )absolute_importunicode_literalsN)SUPPRESSArgumentDefaultsHelpFormatterArgumentParser	Namespace)OrderedDict)get_type   )get_env_var)	IniConfigc                   sL   e Zd Z fddZdd Z fddZdd Zed	d
 Zdd Z	  Z
S )VirtualEnvOptionsc                s"   t t| jf | d | _i | _d S )N)superr   __init___src_sources)selfkwargs)	__class__ M/opt/alt/python37/lib/python3.7/site-packages/virtualenv/config/cli/parser.pyr      s    zVirtualEnvOptions.__init__c             C   s(   t | || |drd}|| j|< d S )Nzenv var)setattr
startswithr   )r   keyvaluesrcr   r   r   set_src   s    
zVirtualEnvOptions.set_srcc                s2   t | dd d k	r| j| j|< tt| || d S )Nr   )getattrr   r   r   r   __setattr__)r   r   r   )r   r   r   r      s    zVirtualEnvOptions.__setattr__c             C   s   | j |S )N)r   get)r   r   r   r   r   
get_source   s    zVirtualEnvOptions.get_sourcec             C   s*   t | dst | dsd S t| j| j dS )Nverbosequietr   )hasattrmaxr!   r"   )r   r   r   r   	verbosity!   s    zVirtualEnvOptions.verbosityc             C   s*   d t| jddd t|  D S )Nz{}({})z, c             s   s(   | ] \}}| d sd||V  qdS )_z{}={}N)r   format).0kvr   r   r   	<genexpr>*   s    z-VirtualEnvOptions.__repr__.<locals>.<genexpr>)r'   type__name__joinvarsitems)r   r   r   r   __repr__'   s    zVirtualEnvOptions.__repr__)r-   
__module____qualname__r   r   r   r    propertyr%   r1   __classcell__r   r   )r   r   r      s   r   c                   sH   e Zd ZdZd fdd	Zdd Zdd Zd	d
 Zd fdd	Z  Z	S )VirtualEnvConfigParserzy
    Custom option parser which updates its defaults by checking the configuration files and environmental variables
    Nc                s   |d krt jn|}t|| _g | _|| _| jj|d< d|d< t|d< d|d< tt	| j
|| t | _|d k	rt|tstd|d krt n|| _d | _d | _d S )NepilogFZadd_helpZformatter_classZ
virtualenvprogz)options must be of type VirtualEnvOptions)osenvironr   file_configZepilog_listenvr7   HelpFormatterr   r6   r   set_fixed
isinstancer   	TypeErroroptions_interpreterZ	_app_data)r   rB   r<   argsr   )r   r   r   r   3   s    
zVirtualEnvConfigParser.__init__c             C   s<   x6| j D ],}t|}|| jkr| | | j| qW d S )N)Z_actionsidr?   _fix_defaultadd)r   actionZ	action_idr   r   r   _fix_defaultsD   s
    

z$VirtualEnvConfigParser._fix_defaultsc             C   s   t |drt |dr|jtkrt|}tdd |jD }d }x$|D ]}t||| j}|d k	rDP qDW |d kr| jrx$|D ]}| j	||}|d k	rxP qxW |d k	r|\|_|_
n
|jdf}| jj|jf|  d S )Ndefaultdestc             s   s$   | ]}| d d ddfV  qdS )-r&   N)lstripreplace)r(   ir   r   r   r+   N   s    z6VirtualEnvConfigParser._fix_default.<locals>.<genexpr>)r#   rJ   r   r	   r   Zoption_stringsr   r<   r;   r   default_sourcerB   r   rK   )r   rH   Zas_typenamesZoutcomenamer   r   r   rF   K   s"    


z#VirtualEnvConfigParser._fix_defaultc             C   s    |    | jdddtdd d S )Nz-hz--helphelpzshow this help message and exit)rH   rJ   rS   )rI   add_argumentr   )r   r   r   r   enable_help_   s    z"VirtualEnvConfigParser.enable_helpc                s^   |d kr| j }n|| j k	r"td|   d| j _z| j|_tt| j||dS d | j _X d S )Nzcan only pass in parser.optionscli)	namespace)rB   
ValueErrorrI   r   r<   r   r6   parse_known_args)r   rD   rW   )r   r   r   rY   c   s    
z'VirtualEnvConfigParser.parse_known_args)NN)NN)
r-   r2   r3   __doc__r   rI   rF   rU   rY   r5   r   r   )r   r   r6   .   s   r6   c                   s(   e Zd Z fddZ fddZ  ZS )r=   c                s   t t| j|ddd d S )N       )Zmax_help_positionwidth)r   r=   r   )r   r8   )r   r   r   r   r   s    zHelpFormatter.__init__c                sD   t t| |}t|dr@d}||r@d|d t|  }|S )NrP   z (default: %(default)s)z4{} (default: %(default)s -> from %(default_source)s))r   r=   _get_help_stringr#   endswithr'   len)r   rH   textrJ   )r   r   r   r^   u   s    

zHelpFormatter._get_help_string)r-   r2   r3   r   r^   r5   r   r   )r   r   r=   q   s   r=   )
__future__r   r   r9   argparser   r   r   r   collectionsr   Zvirtualenv.config.convertr	   Zenv_varr   Zinir   r   r6   r=   r   r   r   r   <module>   s   !C