§
    øyIf  ã                  óÚ   — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZmZ ddlmZmZ d	d
lmZmZ e	rddlmZ  G d„ de¦  «        Zdd„Zdd„Zdd„Zdd„Zdd„ZdZdS )zPThis module pulls together this package: create and parse CLI arguments for tox.é    )ÚannotationsN)Úredirect_stderr)ÚPath)ÚTYPE_CHECKINGÚCallableÚ
NamedTupleÚSequenceÚcast)ÚSourceÚdiscover_source)Ú
ToxHandlerÚsetup_reporté   )ÚParsedÚ	ToxParser)ÚStatec                  óB   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   dS )ÚOptionsr   ÚparsedzSequence[str] | NoneÚpos_argsr   Úsourcez!dict[str, Callable[[State], int]]Úcmd_handlersr   Úlog_handlerN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úH/var/www/piapp/venv/lib/python3.11/site-packages/tox/config/cli/parse.pyr   r      sH   € € € € € € Ø€N€N�NØ"Ð"Ð"Ñ"Ø€N€N�NØ3Ð3Ð3Ñ3ØÐÐÑÐÐr   r   ÚargsÚstrÚreturnc                 óV  — d }	 |                       d¦  «        }t          | |dz   d …         ¦  «        }| d |…         } n# t          $ r Y nw xY wt          | ¦  «        \  }}}t	          | ¦  «        \  }}||j        k    r|                     |j        ¦  «         t          |||||¦  «        S )Nz--r   )ÚindexÚtupleÚ
ValueErrorÚ	_get_baseÚ_get_allÚ	verbosityÚupdate_verbosityr   )r!   r   Ú
pos_arg_atÚguess_verbosityr   r   r   r   s           r    Úget_optionsr.      sÌ   € Ø'+€Hð!Ø—Z’Z Ñ%Ô%ˆ
õ ˜˜j¨1™nÐ.Ð.Ô/Ñ0Ô0ˆØ�K�Z�KÔ ˆˆøõ	 ð ð ð Øˆðøøøõ ,5°T©?¬?Ñ(€O�[ &Ý# D™>œ>Ñ€FˆLØ˜&Ô*Ò*Ð*Ø×$Ò$ VÔ%5Ñ6Ô6Ð6Ý�6˜8 V¨\¸;ÑGÔGÐGs   „> ¾
AÁ
AúSequence[str]útuple[int, ToxHandler, Source]c                ó"  — t          j        ¦   «         }t          ¦   «         }	 t          t          j        ¦  «                             d¦  «        5 }t          |¦  «        5  |                     | |¬¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   n# t          $ r Y nw xY w|j
        }t          ||j        ¦  «        }ddlm} t          |j        |j        ¦  «        }|                     |j        ¦  «         |||fS )zRFirst just load the base options (verbosity+color) to setup the logging framework.Úw)Ú	namespaceNr   ©ÚMANAGER)r   Úbaser   r   ÚosÚdevnullÚopenr   Úparse_known_argsÚ
SystemExitr*   r   Ú
is_coloredÚtox.plugin.managerr5   r   Úconfig_fileÚroot_dirÚload_pluginsÚpath)r!   Ú
tox_parserr   Úfile_handlerr-   Úhandlerr5   r   s           r    r(   r(   ,   s­  € å”Ñ!Ô!€JÝ‰XŒX€FðÝ•"”*ÑÔ×"Ò" 3Ñ'Ô'ð 	@¨<½ÈÑ9VÔ9Vð 	@ð 	@Ø×'Ò'¨¸Ð'Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@øøåð ð ð ØˆðøøøàÔ&€OÝ˜?¨FÔ,=Ñ>Ô>€GØ*Ð*Ð*Ð*Ð*Ð*å˜VÔ/°´ÑAÔA€Fà×Ò˜œÑ%Ô%Ð%à˜G VÐ+Ð+sY   £,B& ÁBÁBÁ7BÂB	ÂBÂ
B	ÂBÂB& ÂBÂB& Â!BÂ"B& Â&
B3Â2B3ú0tuple[Parsed, dict[str, Callable[[State], int]]]c                ó¼   — t          ¦   «         }t          t          |                     | ¦  «        ¦  «        }d„ |j                             ¦   «         D ¦   «         }||fS )zParse all the options.c                ó    — i | ]\  }\  }}||“ŒS r   r   )Ú.0ÚkÚ_Úps       r    ú
<dictcomp>z_get_all.<locals>.<dictcomp>D   s"   € ÐBÐBÐB™˜™F˜Q ��1ÐBÐBÐBr   )Ú_get_parserr
   r   Ú
parse_argsÚhandlersÚitems)r!   rB   r   rO   s       r    r)   r)   @   sU   € å‘”€JÝ•&˜*×/Ò/°Ñ5Ô5Ñ6Ô6€FØBÐB jÔ&9×&?Ò&?Ñ&AÔ&AÐBÑBÔB€HØ�8ÐÐr   r   c                 óŠ   — t          j        ¦   «         } ddlm} |                     | ¦  «         |                      ¦   «          | S ©Nr   r4   )r   Úcorer=   r5   Útox_add_optionÚfix_defaults)rB   r5   s     r    rM   rM   H   sM   € Ý”Ñ!Ô!€Jà*Ð*Ð*Ð*Ð*Ð*à×Ò˜:Ñ&Ô&Ð&Ø×ÒÑÔÐØÐr   c                 óv   — ddl m}  |                      t          j        ¦   «         ¦  «         t          ¦   «         S rR   )r=   r5   r@   r   ÚcwdrM   r4   s    r    Ú_get_parser_docrX   R   s8   € à*Ð*Ð*Ð*Ð*Ð*à×Ò�œ™œÑ$Ô$Ð$å‰=Œ=Ðr   )r   r.   )r!   r"   r#   r   )r!   r/   r#   r0   )r!   r/   r#   rE   )r#   r   ) Ú__doc__Ú
__future__r   r7   Ú
contextlibr   Úpathlibr   Útypingr   r   r   r	   r
   Útox.config.sourcer   r   Ú
tox.reportr   r   Úparserr   r   Útox.session.stater   r   r.   r(   r)   rM   rX   Ú__all__r   r   r    ú<module>rc      ss  ðØ VÐ Và "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fà 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %àð (Ø'Ð'Ð'Ð'Ð'Ð'ðð ð ð ð ˆjñ ô ð ðHð Hð Hð Hð",ð ,ð ,ð ,ð(ð ð ð ðð ð ð ðð ð ð ð€€€r   