[tor-commits] [stem/master] Moving --help output to configuration
atagar at torproject.org
atagar at torproject.org
Tue May 6 01:21:13 UTC 2014
commit 216a6072ccc5506ac7c00acc6ef618e531d42a23
Author: Damian Johnson <atagar at torproject.org>
Date: Thu Apr 17 09:27:28 2014 -0700
Moving --help output to configuration
It wasn't worth having a config file for just this one string, but now that we
have one anyway we might as well use it.
This also changes msg() to raise a ValueError so it's less likely that errors
where we fail to fetch string resources will go unnoticed.
---
stem/interpretor/__init__.py | 8 ++++----
stem/interpretor/arguments.py | 17 ++---------------
stem/interpretor/settings.cfg | 13 +++++++++++++
3 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/stem/interpretor/__init__.py b/stem/interpretor/__init__.py
index c8cd513..3dce2a0 100644
--- a/stem/interpretor/__init__.py
+++ b/stem/interpretor/__init__.py
@@ -15,7 +15,6 @@ import stem
import stem.connection
import stem.prereq
import stem.util.conf
-import stem.util.log
from stem.util.term import Attr, Color, format
@@ -99,9 +98,11 @@ def msg(message, **attr):
Provides the given message.
:param str message: message handle
- :param dict attr: attributes to format the message with
+ :param dict attr: values to insert into the message
:returns: **str** that was requested
+
+ :raises: **ValueError** if string key doesn't exist
"""
config = stem.util.conf.get_config('stem_interpretor')
@@ -109,5 +110,4 @@ def msg(message, **attr):
try:
return config.get(message).format(**attr)
except:
- stem.util.log.notice('BUG: We attempted to use an undefined string resource (%s)' % message)
- return ''
+ raise ValueError('We attempted to use an undefined string resource (%s)' % message)
diff --git a/stem/interpretor/arguments.py b/stem/interpretor/arguments.py
index bd6655d..ff25fb7 100644
--- a/stem/interpretor/arguments.py
+++ b/stem/interpretor/arguments.py
@@ -8,6 +8,7 @@ Commandline argument parsing for arm.
import collections
import getopt
+import stem.interpretor
import stem.util.connection
DEFAULT_ARGS = {
@@ -27,20 +28,6 @@ OPT_EXPANDED = [
'help',
]
-HELP_OUTPUT = """
-Usage prompt [OPTION]
-Interactive interpretor for Tor.
-
- -i, --interface [ADDRESS:]PORT change control interface from {address}:{port}
- -s, --socket SOCKET_PATH attach using unix domain socket if present,
- SOCKET_PATH defaults to: {socket}
- -h, --help presents this help
-
-Example:
-prompt -i 1643 attach to control port 1643
-prompt -s ~/.tor/socket attach to a control socket in your home directory
-"""
-
def parse(argv):
"""
@@ -97,7 +84,7 @@ def get_help():
:returns: **str** with our usage information
"""
- return HELP_OUTPUT.format(
+ return stem.interpretor.msg('msg.help',
address = DEFAULT_ARGS['control_address'],
port = DEFAULT_ARGS['control_port'],
socket = DEFAULT_ARGS['control_socket'],
diff --git a/stem/interpretor/settings.cfg b/stem/interpretor/settings.cfg
index 9430748..bb67144 100644
--- a/stem/interpretor/settings.cfg
+++ b/stem/interpretor/settings.cfg
@@ -6,6 +6,19 @@
msg.multiline_unimplemented_notice Multi-line control options like this are not yet implemented.
+msg.help
+|Usage prompt [OPTION]
+|Interactive interpretor for Tor.
+|
+| -i, --interface [ADDRESS:]PORT change control interface from {address}:{port}
+| -s, --socket SOCKET_PATH attach using unix domain socket if present,
+| SOCKET_PATH defaults to: {socket}
+| -h, --help presents this help
+|
+|Example:
+|prompt -i 1643 attach to control port 1643
+|prompt -s ~/.tor/socket attach to a control socket in your home directory
+
help.quit Terminates the interpretor.
help.saveconf Writes Tor's current configuration to its torrc.
help.postdescriptor Simulates getting a new relay descriptor.
More information about the tor-commits
mailing list