[tor-commits] [arm/master] Warning rather than attempting to correct TERM
atagar at torproject.org
atagar at torproject.org
Fri Jun 14 16:05:44 UTC 2013
commit 954f194560e43ac8e4fa588abc041a1d7a98ef31
Author: Damian Johnson <atagar at torproject.org>
Date: Fri Jun 14 09:03:55 2013 -0700
Warning rather than attempting to correct TERM
Lunar^ points out that setting the user's TERM could cause issues. Replacing it
with a warning...
atagar at morrigan:~/Desktop/arm$ TERM=rxvt-unicode-256color arm
Unknown $TERM: (rxvt-unicode-256color)
Either update your terminfo database or run arm using "TERM=xterm arm".
---
arm | 2 --
src/cli/controller.py | 15 +++++++++++++--
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/arm b/arm
index 040ef4b..0a23aaa 100755
--- a/arm
+++ b/arm
@@ -9,8 +9,6 @@ else
arm_base=$( dirname "$0" )/src/
fi
-TERM=xterm # other terms, like rxvt-unicode-256color, can cause curses to fail
-
python "${arm_base}prereq.py" $*
if [ $? = 0 ]; then
diff --git a/src/cli/controller.py b/src/cli/controller.py
index 58bd41d..0ef07d8 100644
--- a/src/cli/controller.py
+++ b/src/cli/controller.py
@@ -6,6 +6,7 @@ user input to the proper panels.
import os
import time
import curses
+import sys
import threading
import cli.menu.menu
@@ -444,8 +445,10 @@ def shutdownDaemons():
# stops panel daemons
control = getController()
- for panelImpl in control.getDaemonPanels(): panelImpl.stop()
- for panelImpl in control.getDaemonPanels(): panelImpl.join()
+
+ if control:
+ for panelImpl in control.getDaemonPanels(): panelImpl.stop()
+ for panelImpl in control.getDaemonPanels(): panelImpl.join()
# joins on stem threads
torTools.getConn().close()
@@ -562,6 +565,14 @@ def startTorMonitor(startTime):
try:
curses.wrapper(drawTorMonitor, startTime)
+ except UnboundLocalError, exc:
+ if os.environ['TERM'] != 'xterm':
+ shutdownDaemons()
+ print 'Unknown $TERM: (%s)' % os.environ['TERM']
+ print 'Either update your terminfo database or run arm using "TERM=xterm arm".'
+ print
+ else:
+ raise exc
except KeyboardInterrupt:
# Skip printing stack trace in case of keyboard interrupt. The
# HALT_ACTIVITY attempts to prevent daemons from triggering a curses redraw
More information about the tor-commits
mailing list