summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blessings/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/blessings/__init__.py b/blessings/__init__.py
index 98b75c3..3872b5f 100644
--- a/blessings/__init__.py
+++ b/blessings/__init__.py
@@ -94,8 +94,13 @@ class Terminal(object):
# init sequences to the stream if it has a file descriptor, and
# send them to stdout as a fallback, since they have to go
# somewhere.
- setupterm(kind or environ.get('TERM', 'unknown'),
- self._init_descriptor)
+ try:
+ setupterm(kind or environ.get('TERM', 'dumb'),
+ self._init_descriptor)
+ except:
+ # There was an error setting up the terminal, either curses is
+ # not supported or TERM is incorrectly set. Fall back to dumb.
+ self._does_styling = False
self.stream = stream