summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--progress.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/progress.py b/progress.py
index 69c95927..f2edf144 100644
--- a/progress.py
+++ b/progress.py
@@ -23,7 +23,7 @@ except ImportError:
23 23
24from repo_trace import IsTraceToStderr 24from repo_trace import IsTraceToStderr
25 25
26_NOT_TTY = not os.isatty(2) 26_TTY = sys.stderr.isatty()
27 27
28# This will erase all content in the current line (wherever the cursor is). 28# This will erase all content in the current line (wherever the cursor is).
29# It does not move the cursor, so this is usually followed by \r to move to 29# It does not move the cursor, so this is usually followed by \r to move to
@@ -97,7 +97,8 @@ class Progress(object):
97 self._start = time.time() 97 self._start = time.time()
98 self._show = not delay 98 self._show = not delay
99 self._units = units 99 self._units = units
100 self._elide = elide 100 self._elide = elide and _TTY
101
101 # Only show the active jobs section if we run more than one in parallel. 102 # Only show the active jobs section if we run more than one in parallel.
102 self._show_jobs = False 103 self._show_jobs = False
103 self._active = 0 104 self._active = 0
@@ -129,7 +130,7 @@ class Progress(object):
129 def _write(self, s): 130 def _write(self, s):
130 s = "\r" + s 131 s = "\r" + s
131 if self._elide: 132 if self._elide:
132 col = os.get_terminal_size().columns 133 col = os.get_terminal_size(sys.stderr.fileno()).columns
133 if len(s) > col: 134 if len(s) > col:
134 s = s[: col - 1] + ".." 135 s = s[: col - 1] + ".."
135 sys.stderr.write(s) 136 sys.stderr.write(s)
@@ -157,7 +158,7 @@ class Progress(object):
157 msg = self._last_msg 158 msg = self._last_msg
158 self._last_msg = msg 159 self._last_msg = msg
159 160
160 if _NOT_TTY or IsTraceToStderr(): 161 if not _TTY or IsTraceToStderr():
161 return 162 return
162 163
163 elapsed_sec = time.time() - self._start 164 elapsed_sec = time.time() - self._start
@@ -199,7 +200,7 @@ class Progress(object):
199 200
200 def end(self): 201 def end(self):
201 self._update_event.set() 202 self._update_event.set()
202 if _NOT_TTY or IsTraceToStderr() or not self._show: 203 if not _TTY or IsTraceToStderr() or not self._show:
203 return 204 return
204 205
205 duration = duration_str(time.time() - self._start) 206 duration = duration_str(time.time() - self._start)