U
    b^Y                     @   sX   d Z ddlZeedo,ejdko,ejd dkZdd Zdd	 Zd
d Ze	dkrTe  dS )z<Inspect a target Python interpreter virtual environment wise    NZpypy_version_infoZwin32   c                 C   sZ   | d krd S t | ttfs:t | tr.t| } ntt| } t | trVtsV| t } | S )N)	
isinstancestrbytestyperepr	PYPY2_WINdecodesysgetfilesystemencodingvalue r   9/usr/lib/python3/dist-packages/virtualenv/create/debug.pyencode_path   s    

r   c                 C   s   dd | D S )Nc                 S   s   g | ]}t |qS r   )r   ).0ir   r   r   
<listcomp>   s     z$encode_list_path.<locals>.<listcomp>r   r   r   r   r   encode_list_path   s    r   c               
   C   s  zddl m}  W n tk
r(   t} Y nX | d|  fg}d}|D ]8}tt|d}t|trft|}nt	|}||d |< qBt
 |d d< ttjdd|d d< tj|d	< ddl}t||d
< zddl}t||d< W n0 tk
r } zt||d< W 5 d}~X Y nX zddl}t||d< W n0 tk
rR } zt||d< W 5 d}~X Y nX zddl}	t|	|d< W n0 tk
r } zt||d< W 5 d}~X Y nX z*ddl}
t|
|d< t|
j|dd W nJ tttfk
r } z$t||d< tt| tdW 5 d}~X Y nX dS )z.print debug data about the virtual environmentr   )OrderedDictr
   )	
executable_base_executableprefixbase_prefixZreal_prefixexec_prefixbase_exec_prefixpath	meta_pathNZfs_encodingencodingZio_encodingversionossitedatetimemathjsonr   )indent   )collectionsr   ImportErrordictgetattrr
   r   listr   r   r   stdoutr   r    r   r!   r"   r#   r$   printdumps
ValueError	TypeError
SystemExit)r   resultZ	path_keyskeyr   r    r!   Z	exceptionr"   r#   r$   r   r   r   run   sP    



r4   __main__)
__doc__r
   hasattrplatformversion_infor   r   r   r4   __name__r   r   r   r   <module>   s   "F