[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [nyx/master] Added more options to interpreter panel help
commit 6853f99a6afc6189b63a3813d488a6d160c4c175
Author: Sambuddha Basu <sambuddhabasu1@xxxxxxxxx>
Date: Sun Jun 19 21:56:46 2016 -0700
Added more options to interpreter panel help
---
nyx/tor_interpreter.py | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/nyx/tor_interpreter.py b/nyx/tor_interpreter.py
index 62986ec..7b59a36 100644
--- a/nyx/tor_interpreter.py
+++ b/nyx/tor_interpreter.py
@@ -5,6 +5,8 @@ from nyx import tor_controller
# initial location /write will save to when no path is specified
DEFAULT_WRITE_PATH = "/tmp/torInterpretor_output"
+MULTILINE_UNIMPLEMENTED_NOTICE = "Multi-line control options like this are not yet implemented."
+
GENERAL_HELP = """Interpretor commands include:
/help - provides information for interpretor and tor commands/config options
/info - general information for a relay
@@ -222,6 +224,36 @@ class ControlInterpreter:
for line in description.split("\n"):
output_entry.append([(" " + line, BLUE, )])
+
+ if arg == "SIGNAL":
+ # lists descriptions for all of the signals
+ for signal, description in SIGNAL_DESCRIPTIONS:
+ output_entry.append([("%-15s" % signal, BLUE, BOLD), (" - %s" % description, BLUE, )])
+ elif arg == "SETEVENTS":
+ # lists all of the event types
+ event_options = tor_controller().get_info("events/names")
+ if event_options:
+ event_entries = event_options.split()
+
+ # displays four columns of 20 characters
+ for i in range(0, len(event_entries), 4):
+ line_entries = event_entries[i : i+4]
+
+ line_content = ""
+ for entry in line_entries:
+ line_content += "%-20s" % entry
+
+ output_entry.append([(line_content, BLUE, )])
+ elif arg == "USEFEATURE":
+ # lists the feature options
+ feature_options = tor_controller().get_info("features/names")
+ if feature_options:
+ output_entry.append([(feature_options, BLUE, )])
+ elif arg in ("LOADCONF", "POSTDESCRIPTOR"):
+ # gives a warning that this option isn't yet implemented
+ output_entry.append([(MULTILINE_UNIMPLEMENTED_NOTICE, RED, BOLD)])
+ else:
+ output_entry.append([("No help information available for '%s'..." % arg, RED, BOLD)])
else:
# provides the GENERAL_HELP with everything bolded except descriptions
for line in GENERAL_HELP.split("\n"):
@@ -251,7 +283,7 @@ class ControlInterpreter:
else: cmd, arg = user_input, ""
if cmd.startswith("/"):
- input_entry.append((cmd, MAGENTA, BOLD))
+ input_entry.append((user_input, MAGENTA, BOLD))
if cmd == "/quit": raise InterpreterClosed()
elif cmd == "/help": self.do_help(arg, output_entry)
else:
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits