[tor-commits] [stem/master] Interpretor prompt
atagar at torproject.org
atagar at torproject.org
Tue May 6 01:21:13 UTC 2014
commit 1b21c24d1a6ba02fe1eea191379eb6c9811657fe
Merge: 0d357a9 f2cabcd
Author: Damian Johnson <atagar at torproject.org>
Date: Mon May 5 18:03:46 2014 -0700
Interpretor prompt
Arm's 1.4.5 release included an interpretor panel that allowed raw control
port access with usability improvements like...
* tab completion
* history by pressing up/down
* terminal coloring to improve readability
* irc-style functions such as '/help' and '/info'
This was pretty slick but rarely used, and is being removed from the next arm
release.
The trouble isn't with the feature, but rather the audience. Raw control port
access is useful to learn about tor's controller interface and debug
during development. This didn't match arm's audience, who are primarily relay
operators and power users. However, it's *perfect* for Stem!
This is a rewritten version of arm's interpretor...
https://gitweb.torproject.org/arm.git/blob/e249dc8f5c4c282326324161cf8421f947cf660e:/src/util/torInterpretor.py
Functionally this is the same as arm's, but is much more modular and better
tested. Pending improvements I plan include...
* tutorial to introduce new stem users to the prompt
* option to get a python prompt (similar to our old 'prompt' command)
prompt | 23 +--
prompt_old | 19 ++
stem/interpretor/__init__.py | 85 +++++++++
stem/interpretor/arguments.py | 92 ++++++++++
stem/interpretor/autocomplete.py | 112 ++++++++++++
stem/interpretor/commands.py | 319 +++++++++++++++++++++++++++++++++
stem/interpretor/help.py | 142 +++++++++++++++
stem/interpretor/settings.cfg | 259 ++++++++++++++++++++++++++
stem/response/__init__.py | 1 +
stem/util/conf.py | 51 +++++-
stem/util/term.py | 3 +-
test/settings.cfg | 4 +
test/unit/interpretor/__init__.py | 39 ++++
test/unit/interpretor/arguments.py | 57 ++++++
test/unit/interpretor/autocomplete.py | 112 ++++++++++++
test/unit/interpretor/commands.py | 216 ++++++++++++++++++++++
test/unit/interpretor/help.py | 54 ++++++
17 files changed, 1568 insertions(+), 20 deletions(-)
More information about the tor-commits
mailing list