
    P'g                         d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZ  e j                  e      Zdee   dedefd	Zd
ee   dededee   dedee   fdZdedededee   dee   dedee   fdZy)    N)ListOptional)open_spinner) make_setuptools_bdist_wheel_args)call_subprocessformat_command_argscommand_argscommand_outputreturnc                     t        |       }d| d}|s|dz  }|S t        j                         t        j                  kD  r|dz  }|S |j                  d      s|dz  }|d| z  }|S )z'Format command information for logging.zCommand arguments: 
zCommand output: Nonez'Command output: [use --verbose to show]zCommand output:
)r   loggergetEffectiveLevelloggingDEBUGendswith)r	   r
   command_desctexts       c/var/www/html/knws/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.pyformat_command_resultr      s    
 '|4L b1D&& K 
	!	!	#gmm	399 K	 &&t,d"N#N#344K    namestemp_dirnamec                 V   t        |       } | s6dj                  |      }|t        ||      z  }t        j	                  |       yt        |       dkD  r6dj                  ||       }|t        ||      z  }t        j	                  |       t        j                  j                  || d         S )z>Return the path to the wheel in the temporary build directory.z1Legacy build of wheel for {!r} created no files.
N   zZLegacy build of wheel for {!r} created more than one file.
Filenames (choosing first): {}
r   )	sortedformatr   r   warninglenospathjoin)r   r   r   r	   r
   msgs         r   get_legacy_build_wheel_pathr%       s     5MECKKDQ$\>BBs
5zA~/
&u
 	 	$\>BBs77<<%(++r   setup_py_path
source_dirglobal_optionsbuild_optionstempdc                    t        ||||      }d|  d}t        |      5 }t        j                  d|       	 t	        |d||      }	t        j                  |      }
t        |
|| ||	
      }|cd	d	d	       S # t
        $ r2 |j                  d       t        j                  d|        Y d	d	d	       y	w xY w# 1 sw Y   y	xY w)zBuild one unpacked package using the "legacy" build process.

    Returns path to wheel if successfully built. Otherwise, returns None.
    )r(   r)   destination_dirzBuilding wheel for z (setup.py)zDestination directory: %szpython setup.py bdist_wheel)r   cwdspinnererrorzFailed building wheel for %sN)r   r   r   r	   r
   )r   r   r   debugr   	Exceptionfinishr/   r!   listdirr%   )r   r&   r'   r(   r)   r*   
wheel_argsspin_messager.   outputr   
wheel_paths               r   build_wheel_legacyr8   ;   s     2%#	J )k:L	l	# w0%8
	$:	F 

5!0#!

 /   	NN7#LL7> 	 s.   B6A8&B680B3(B62B33B66B?)r   os.pathr!   typingr   r   pip._internal.cli.spinnersr   $pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr   r   	getLogger__name__r   strr   r%   r8    r   r   <module>rB      s      ! 3 Q O			8	$s) 	(,9,, , s)	,
 , c],6+
++ + I	+
 9+ + c]+r   