
    yIf                       d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	 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mZmZ d dlmZ 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$ erd dl%m&Z& ed"d            Z'd#dZ(d$d Z)d!S )%    )annotations)Path)TYPE_CHECKINGcast)InvalidRequirementRequirement)DEFAULT_VERBOSITYParsed	ToxParser)MemoryLoader)SetEnv)impl)env_run_create_flags)	OFF_VALUEparallel_flagsrun_parallel)run_sequential)CliEnvEnvSelectorregister_env_select_flags)
PythonDeps   )devenv)list_env)show_config)Stateparserr   returnNonec                   |                      ddgdt                    }|                    ddddd	           |                    d
ddd	           |                    ddddd	           |                    ddddd	           |                    ddddd t                     t	          |t                                 t          |d           t          |t          d           |                    ddd           |                    d d!d"g d#t          $           |                    d%dd&d'	           |                    d(dd)d*	           d S )+Nlegacylezlegacy entry-point commandz
--help-iniz--hi
store_truezshow live configurationr   )actionhelpdestz--showconfigzbshow live configuration (by default all env, with -l only default targets, specific via TOXENV/-e)z-az--listenvs-allzCshow list of all defined environments (with description if verbose)list_envs_allz-lz
--listenvsz<show list of test environments (with description if verbose)	list_envsz--devenvzusets up a development environment at ENVDIR based on the env's tox configuration specified by`-e` (-e defaults to py)devenv_pathENVDIR)r%   r&   metavardefaultof_type)r,   )modeT)default_parallelno_argsz--prezdeprecated use PIP_PRE in set_env instead - install pre-releases and development versions ofdependencies; this will set PIP_PRE=1 environment variable)r$   r%   z--force-depappendreqzForces a certain version of one of the dependencies when configuring the virtual environment. REQ Examples 'pytest<6.1' or 'django>=2.2'.)r$   r+   r,   r%   typez--sitepackageszcdeprecated use VIRTUALENV_SYSTEM_SITE_PACKAGES=1, override sitepackages setting to True in all envssite_packagesz--alwayscopyzYdeprecated use VIRTUALENV_ALWAYS_COPY=1, override always copy setting to True in all envsalways_copy)
add_commandr!   add_argumentr   r   r   r   r   r   r   )r   ours     J/var/www/piapp/venv/lib/python3.11/site-packages/tox/session/cmd/legacy.pytox_add_optionr:      s   


Xv/KV
T
TC\6,E^ersssq	     R     K     #     c68844448,,,,3DAAAAE     2     r	     h	          stater   intc                   | j         j        }|j        r!g |_        t	          |j                   |_        |j        s|j        r5d| j	        _
        |j        t          k    |_        |j         |_        d|_        t          || j	                   |j        rt          |           S |j        s|j        rt!          |           S |j        rI|j        j        rt'          dg          |_        t)          |j                  |_        t+          |           S |j        du s|j        dk    rt1          |           S t3          |           S )NFpyTr   )confoptionsr   list_keys_onlyboolenv	show_corer(   r'   envson_empty_fallback_py	verbosityr	   list_no_descriptionlist_default_only_handle_legacy_only_flagsr   r)   is_default_listr   r   r   parallel_no_spinnerparallelr   r   )r<   options     r9   r!   r!   [   sB   ZF 0 "#FJ/// !6/ !*/
'%+%59J%J"'-';#;  fej111 "5!!! 6/  :% 	(FJ!&"455e}}!T))V_-A-AE"""%   r;   rO   r
   rF   r   c           	     x   i }t          | dd          rd|d<   t          | dd          rd|d<   i }t          | dd          rd|d<   d	 t          | d
g           D             }|s|s|rO|                    dd          D ]8}||         j        }|r%|j                            dt          di |           |r0t          t          |d                                       |d           |r|	                                }t          t          |d                   }|j        }	t          |	          D ]T\  }
}	 t          |          }n# t          $ r Y "w xY w|j        |v r%t!          ||j                           |	|
<   ||j        = U|	                    d |                                D                        8d S d S )Nr4   FTsystem_site_packagesr5   pre1PIP_PREc                    i | ]
}|j         |S  )name).0js     r9   
<dictcomp>z-_handle_legacy_only_flags.<locals>.<dictcomp>   s    BBBAafaBBBr;   	force_dep)only_activepackager   set_env)overridedepsc              3  4   K   | ]}t          |          V  d S )N)str)rX   vs     r9   	<genexpr>z,_handle_legacy_only_flags.<locals>.<genexpr>   s(      #F#FqCFF#F#F#F#F#F#Fr;   rV   )getattriterr@   loadersinsertr   r   r   updatecopyr   as_root_args	enumerater   r   rW   rb   extendvalues)rO   rF   r_   r^   forcedrD   env_confto_forcer`   rk   atentryr2   s                r9   rK   rK   v   s$   Hv.. 0+/'(v}e,, '"&Gvue$$ ! 	BBb!A!ABBBF G7 Gf G99u9== 	G 	GCCy~H E ''<+C+C(+C+CDDD QVXi0118848PPP G!;;==J(899#0!*<!8!8 / /IB!)%00- ! ! ! !x8+++.x/A+B+BR($SX.###F#FHOO4E4E#F#F#FFFF'G G	G 	Gs   6E
EEN)r   r   r   r   )r<   r   r   r=   )rO   r
   rF   r   r   r   )*
__future__r   pathlibr   typingr   r   packaging.requirementsr   r   tox.config.cli.parserr	   r
   r   tox.config.loader.memoryr   tox.config.set_envr   
tox.pluginr   tox.session.cmd.run.commonr   tox.session.cmd.run.parallelr   r   r   tox.session.cmd.run.sequentialr   tox.session.env_selectr   r   r   tox.tox_env.python.pip.req_filer   r   r   r   tox.session.stater   r:   r!   rK   rV   r;   r9   <module>r      s   " " " " " "       & & & & & & & & B B B B B B B B F F F F F F F F F F 1 1 1 1 1 1 % % % % % %       ; ; ; ; ; ; P P P P P P P P P P 9 9 9 9 9 9 Q Q Q Q Q Q Q Q Q Q 6 6 6 6 6 6             $ $ $ $ $ $ ('''''' = = = =@! ! ! !6G G G G G Gr;   