o
    vi
                     @  s   U d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ ddl	m
Z
 G dd dejZejZeeZddd&ddZejdedZejdd dZd'ddZd(d)ddZejrcded < d!ed"< nd#d$ Zg d%ZdS )*    )annotationsN)MappingSequence   )StrPathc                   @  s   e Zd Zdddd	d
ZdS )LoggerNoriginmessagestrr	   tuple[str, ...] | NonereturnNonec                C  s   d S )N )selfr
   r	   r   r   I/home/air/biblejyuku/back/venv/lib/python3.10/site-packages/build/_ctx.py__call__   s    zLogger.__call__r
   r   r	   r   r   r   )__name__
__module____qualname__r   r   r   r   r   r      s    r   r   r
   r   r	   r   r   r   c                C  s"   |d u rt jtj| dd d S d S )N   )
stacklevel)_default_loggerlogloggingINFO)r
   r	   r   r   r   _log_default   s   r   LOGGER)default	VERBOSITYerrorsubprocess.CalledProcessErrorc                 C  sZ   t  }|t| jdd dD ]}t| |}|r*|t|tr#| n|d|fd qd S )N
subprocesscmdr   )stdoutstderrr$   )	r   getr$   list2cmdliner%   getattr
isinstancebytesdecode)r!   r   stream_namestreamr   r   r   log_subprocess_error   s   
"r0   r%   Sequence[StrPath]cwd
str | NoneenvMapping[str, str] | Nonec           	   
     s.  t  }|dkrwdd l}t  |jjddV}tj| |d|tjtj	d0 t
| dd |jd fd
d}|j|g  }|rNt|jW d    n1 sXw   Y  W d    d S W d    d S 1 spw   Y  d S ztj| dd||d W d S  tjy } zt|  d }~ww )Nr   r   )max_workerszutf-8)r2   encodingr4   r&   r'   r#   r   r   r   c                    s&   j sJ j D ]}  | dd qd S )N)r$   r&   r   )r&   )liner   processr   r   
log_stream9   s   

z"run_subprocess.<locals>.log_streamT)capture_outputcheckr2   r4   )r   r   )r    r(   concurrent.futuresr   futuresThreadPoolExecutorr$   PopenPIPESTDOUTr)   submitwaitCalledProcessErrorargsrunr0   )	r%   r2   r4   	verbosity
concurrentexecutorr;   coder!   r   r9   r   run_subprocess)   s8   PrM   r   boolrI   c                 C  s(   | dkrt  S | dkrt S t| )Nr   rI   )r   r(   r    AttributeError)namer   r   r   __getattr__S   s
   rQ   )r   r    r   r0   rM   rI   r   )r!   r"   r   r   )NN)r%   r1   r2   r3   r4   r5   r   r   )
__future__r   contextvarsr   r$   typingcollections.abcr   r   _typesr   Protocolr   __spec__parent_package_name	getLoggerr   r   
ContextVarr   r    r0   rM   TYPE_CHECKING__annotations__rQ   __all__r   r   r   r   <module>   s(    

$
