3 Re( @ s d dl Z d dlZd dlZddlmZmZmZmZ ddlm Z m Z mZ ddlm Z mZ dZe dk rfe ZG dd deZG dd d eZdS ) N )AnsiForeAnsiBack AnsiStyleStyle)WinTermWinColorWinStyle)windllwinapi_testc @ sL e Zd ZdZdd Zdd Zdd Zdd Zd d Zdd Z e dd ZdS ) StreamWrapperz Wraps a stream (such as stdout), acting as a transparent proxy for all attribute access apart from method 'write()', which is delegated to our Converter instance. c C s || _ || _d S )N)_StreamWrapper__wrapped_StreamWrapper__convertor)selfwrapped converter r /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/colorama/ansitowin32.py__init__ s zStreamWrapper.__init__c C s t | j|S )N)getattrr )r namer r r __getattr__ s zStreamWrapper.__getattr__c O s | j j||S )N)r __enter__)r argskwargsr r r r s zStreamWrapper.__enter__c O s | j j||S )N)r __exit__)r r r r r r r % s zStreamWrapper.__exit__c C s | j j| d S )N)r write)r textr r r r ( s zStreamWrapper.writec C sZ | j }dtjkr0|d k r0|tjks,|tjkr0dS y |j}W n tk rN dS X | S d S )NPYCHARM_HOSTEDTF)r osenvironsys __stdout__ __stderr__isattyAttributeError)r stream stream_isattyr r r r$ + s zStreamWrapper.isattyc C s&