o ai -@sddlZddlZddlZddlZddlZddlZddlmZddlmZm Z m Z m Z m Z m Z mZmZddlmZmZddlmZddlmZddlmZzddlZWn ey_ddlZYnwzddlmZWn eysdZYnweZ ed Z!Gd d d eZ"d ee#d e#de$fddZ%ej&d)de'de dfddZ(de'fddZ)Gdddej*Z+de,de e,ge,ffddZ-Gdddej.Z/Gdddej0j1Z2Gd d!d!eZ3Gd"d#d#eZ4d$e'd%e$d&e e,de'fd'd(Z5dS)*N)Filter)IOAnyCallableIteratorOptionalTextIOTypecast)VERBOSE getLogger)WINDOWS)DEPRECATION_MSG_PREFIX) ensure_dir)coloramazpip.subprocessorc@seZdZdZdS)BrokenStdoutLoggingErrorzO Raised if BrokenPipeError occurs for the stdout stream while logging. N)__name__ __module__ __qualname____doc__rr/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/utils/logging.pyr!sr exc_classexcreturncCs0|turdSts dSt|to|jtjtjfvS)NTF)BrokenPipeErrorr isinstanceOSErrorerrnoEINVALEPIPE)rrrrr_is_broken_pipe_error's r!numc csDtt_tj|7_z dVWtj|8_dStj|8_w)zv A context manager which will cause the log output to be indented for any log messages emitted inside it. N)get_indentation _log_state indentation)r#rrr indent_log4s "r'cCs ttddS)Nr&r)getattrr%rrrrr$C r$c sfeZdZdZdddedededdffd d Zd ed edefd dZ de j deffdd Z Z S)IndentingFormatterz%Y-%m-%dT%H:%M:%SF) add_timestampargsr+kwargsrNcs||_tj|i|dS)z A logging.Formatter that obeys the indent_log() context manager. :param add_timestamp: A bool indicating output lines should be prefixed with their record's timestamp. N)r+super__init__)selfr+r,r- __class__rrr/Js zIndentingFormatter.__init__ formattedlevelnocCs.|tjkrdS|trdS|tjkrdSdS)zv Return the start of the formatted log message (not counting the prefix to add to each line). z WARNING: zERROR: )loggingWARNING startswithrERROR)r0r3r4rrrget_message_startYs   z$IndentingFormatter.get_message_startrecordcslt|}|||j}||}d|jr||ddt7dfdd|dD}|S)z Calls the standard formatter, but will indent all of the log message lines by our current indentation level. r5 csg|]}|qSrr).0lineprefixrr vsz-IndentingFormatter.format..T) r.formatr:r4r+ formatTimer$join splitlines)r0r;r3 message_startr1r?rrBis zIndentingFormatter.format)rrrdefault_time_formatrboolr/strintr:r6 LogRecordrB __classcell__rrr1rr*Gs r*colorscsdtdtffdd }|S)Ninprcsdt|tjjgS)Nr5)rDlistrStyle RESET_ALL)rNrMrrwrapped{sz_color_wrap..wrapped)rI)rMrSrrRr _color_wrapzsrTcseZdZerejeejjfej eejj fgZ ngZ dde e deddffdd ZdefddZdefd d Zd ejdeffd d Zd ejddffdd ZZS)ColorizedStreamHandlerNstreamno_colorrcs4t|||_trtrt|j|_dSdSdSN)r.r/ _no_colorr r AnsiToWin32rV)r0rVrWr1rrr/s zColorizedStreamHandler.__init__cCs.trtrttj|j}|jtjuS|jtjuS)zA Return whether the handler is using sys.stdout. )r rr rZrVrSsysstdout)r0rVrrr _using_stdouts  z$ColorizedStreamHandler._using_stdoutcCsXtr|jrdSt|jtjs|jn|jj}t|dr |r dStj ddkr*dSdS)NFisattyTTERMANSI) rrYrrVrZrShasattrr^osenvironget)r0 real_streamrrr should_colors  z#ColorizedStreamHandler.should_colorr;cs@t|}|r|jD]\}}|j|kr||}|Sq |SrX)r.rBrfCOLORSr4)r0r;msglevelcolorr1rrrBs  zColorizedStreamHandler.formatcs@tdd\}}|r|r|rt||rtt|S)Nr")r[exc_infor]r!rr. handleError)r0r;rrr1rrrls z"ColorizedStreamHandler.handleError)NN)rrrrr6r9rTForeREDr7YELLOWrgrrrHr/r]rfrKrIrBrlrLrrr1rrUs   rUcs&eZdZdeeffdd ZZS)BetterRotatingFileHandlerrcsttj|jtSrX)rrbpathdirname baseFilenamer._open)r0r1rrrts zBetterRotatingFileHandler._open)rrrrrrtrLrrr1rrpsrpc@s2eZdZdeddfddZdejdefddZdS) MaxLevelFilterrirNcCs ||_dSrX)ri)r0rirrrr/s zMaxLevelFilter.__init__r;cCs |j|jkSrX)r4rir0r;rrrfilterr)zMaxLevelFilter.filter) rrrrJr/r6rKrHrwrrrrrusrucs,eZdZdZdejdeffdd ZZS)ExcludeLoggerFilterzQ A logging Filter that excludes records from a logger (or its children). r;rcst| SrX)r.rwrvr1rrrwszExcludeLoggerFilter.filter) rrrrr6rKrHrwrLrrr1rrxs rx verbosityrW user_log_filec Cs~|dkrtj}n"|dkrt}n|dkrtj}n|dkrtj}n |dkr'tj}ntj}t|}|du}|r:|}d}nd}|}|d vrDd nd}d d d } ddd} gd|rXdgng} tj dddtjddt j ddt j ddt ddt dddd|| d|| d d!d"gd#d$d | d|| d%d!gd#d$|| d|| d%d&gd#d$d| d'|d(dd)d*d+|| d,d-d.|iid/|S)0znConfigures and sets up all of the logging Returns the requested logging level, as its integer value. r"NDEBUGz /dev/null)INFOr9r7zext://sys.stdoutzext://sys.stderr)r\stderrz2pip._internal.utils.logging.ColorizedStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)rVfile)consoleconsole_errorsconsole_subprocessuser_logFz*pip._internal.utils.logging.MaxLevelFilter)()rizlogging.Filter)rnamez/pip._internal.utils.logging.ExcludeLoggerFilter)exclude_warningsrestrict_to_subprocessexclude_subprocessz %(message)s)rrBT)rrBr+)indentindent_with_timestamprVr\rrr)riclassrWrVfilters formatterrrrzutf-8r)rirfilenameencodingdelayr)rrrr)rihandlersz pip._vendorri)versiondisable_existing_loggersr formattersrrootloggers) r6rr r7r9CRITICALr getLevelNameconfig dictConfigsubprocess_loggerrr*) ryrWrz level_numberriinclude_user_logadditional_log_file root_levelvendored_log_level log_streamshandler_classesrrrr setup_loggings      % Ir)r")6 contextlibrr6logging.handlersrbr[rtypingrrrrrrr r Zpip._internal.utils._logr r pip._internal.utils.compatr pip._internal.utils.deprecationrpip._internal.utils.miscr threading ImportErrorZdummy_threading pip._vendorr Exceptionlocalr%rr BaseExceptionrHr!contextmanagerrJr'r$ Formatterr*rIrT StreamHandlerrUrRotatingFileHandlerrprurxrrrrrsH (        3Q"