
    dhi                         d dl 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 d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ  e j0                  e      Z G d de      Zy)    N)Values)Any)default_environment)
print_json)__version__)
cmdoptions)Command)SUCCESS)BaseDistributionget_environment)stdlib_pkgs)path_to_urlc                   T    e Zd ZdZdZdZddZdedee	   de
fd	Zd
edee	ef   fdZy)InspectCommandzZ
    Inspect the content of a Python environment and produce a report in JSON format.
    Tz
      %prog [options]returnNc                 (   | j                   j                  dddd       | j                   j                  ddddd	       | j                   j                  t        j                                | j                  j                  d
| j                          y )Nz--local
store_trueFzSIf in a virtualenv that has global access, do not list globally-installed packages.)actiondefaulthelpz--useruserz,Only output packages installed in user-site.)destr   r   r   r   )cmd_opts
add_optionr   	list_pathparserinsert_option_group)selfs    `/var/www/html/vivango/api/ia/venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.pyadd_optionszInspectCommand.add_options   s      / 	! 	
 	  ? 	! 	
 	  !5!5!78''4==9    optionsargsc                 J   t        j                  |       t        |j                        j	                  |j
                  |j                  t        t                    }dt        |D cg c]  }| j                  |       c}t               d}t        |       t        S c c}w )N)
local_only	user_onlyskip1)versionpip_version	installedenvironment)data)r   check_list_path_optionr   pathiter_installed_distributionslocalr   setr   r   _dist_to_dictr   r   r
   )r   r"   r#   distsdistoutputs         r   runzInspectCommand.run0   s    ))'2-JJ}}ll[! K 
 &?DEt$,,T2E.0	
 	 Fs   (B r5   c                 .   |j                   |j                  d}|j                  }||j                         |d<   n!|j                  }|t        |      ddid|d<   |j                  }|j                  r||d<   |j                  r|j                  |d<   |S )N)metadatametadata_location
direct_urleditableT)urldir_info	installer	requested)	metadata_dictinfo_locationr;   to_dicteditable_project_locationr   r?   installed_with_dist_infor@   )r   r5   resr;   rD   r?   s         r   r3   zInspectCommand._dist_to_dictA   s    **!%!3!3
 __
! * 2 2 4C )-(F(F%(4&'@A"D!%L! NN	>>(C((#~~C
r!   )r   N)__name__
__module____qualname____doc__ignore_require_venvusager    r   liststrintr7   r   dictr   r3    r!   r   r   r      sU     E:(6 c s ""2 tCH~ r!   r   )loggingoptparser   typingr   pip._vendor.packaging.markersr   pip._vendor.richr   pipr   pip._internal.clir   pip._internal.cli.base_commandr	   pip._internal.cli.status_codesr
   pip._internal.metadatar   r   pip._internal.utils.compatr   pip._internal.utils.urlsr   	getLoggerrG   loggerr   rQ   r!   r   <module>r`      sI       = '  ( 2 2 D 2 0			8	$IW Ir!   