Do not emit progress if stderr is not a tty
Avoids logging progress data into cron logs, etc.
Suggested-by: Michael Richardson <mcr@sandelman.ottawa.on.ca>
Change-Id: I4eefa2c282f0ca0a95a0185612b52e2146669e4c
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/progress.py b/progress.py
index b119b37..2ace701 100644
--- a/progress.py
+++ b/progress.py
@@ -13,10 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import os
import sys
from time import time
from trace import IsTrace
+_NOT_TTY = not os.isatty(2)
+
class Progress(object):
def __init__(self, title, total=0):
self._title = title
@@ -29,7 +32,7 @@
def update(self, inc=1):
self._done += inc
- if IsTrace():
+ if _NOT_TTY or IsTrace():
return
if not self._show:
@@ -56,7 +59,7 @@
sys.stderr.flush()
def end(self):
- if IsTrace() or not self._show:
+ if _NOT_TTY or IsTrace() or not self._show:
return
if self._total <= 0: