]> jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/utils.py
init: venv aand flask
[dlqueue.git] / venv / lib / python3.11 / site-packages / pip / _vendor / colorama / tests / utils.py
1 # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
2 from contextlib import contextmanager
3 from io import StringIO
4 import sys
5 import os
6
7
8 class StreamTTY(StringIO):
9 def isatty(self):
10 return True
11
12 class StreamNonTTY(StringIO):
13 def isatty(self):
14 return False
15
16 @contextmanager
17 def osname(name):
18 orig = os.name
19 os.name = name
20 yield
21 os.name = orig
22
23 @contextmanager
24 def replace_by(stream):
25 orig_stdout = sys.stdout
26 orig_stderr = sys.stderr
27 sys.stdout = stream
28 sys.stderr = stream
29 yield
30 sys.stdout = orig_stdout
31 sys.stderr = orig_stderr
32
33 @contextmanager
34 def replace_original_by(stream):
35 orig_stdout = sys.__stdout__
36 orig_stderr = sys.__stderr__
37 sys.__stdout__ = stream
38 sys.__stderr__ = stream
39 yield
40 sys.__stdout__ = orig_stdout
41 sys.__stderr__ = orig_stderr
42
43 @contextmanager
44 def pycharm():
45 os.environ["PYCHARM_HOSTED"] = "1"
46 non_tty = StreamNonTTY()
47 with replace_by(non_tty), replace_original_by(non_tty):
48 yield
49 del os.environ["PYCHARM_HOSTED"]