[tor-commits] [arm/master] Moving --help output to settings.cfg
atagar at torproject.org
atagar at torproject.org
Sun Sep 15 22:29:20 UTC 2013
commit c1f1602c9f9c8b426d078751cf2e9d2af0f471d5
Author: Damian Johnson <atagar at torproject.org>
Date: Sun Sep 8 14:42:58 2013 -0700
Moving --help output to settings.cfg
Big blocks of text like our --help output belong in our configuration. While
moving it there I realized that we actually weren't loading our settings.cfg
*at all*. Nice. :P
---
arm/settings.cfg | 20 ++++++++++++++++++++
arm/starter.py | 48 +++++++++++++++---------------------------------
2 files changed, 35 insertions(+), 33 deletions(-)
diff --git a/arm/settings.cfg b/arm/settings.cfg
index 8cd92c1..c73a16f 100644
--- a/arm/settings.cfg
+++ b/arm/settings.cfg
@@ -1,3 +1,23 @@
+msg.help
+|Usage arm [OPTION]
+|Terminal status monitor for Tor relays.
+|
+| -i, --interface [ADDRESS:]PORT change control interface from %s:%i
+| -s, --socket SOCKET_PATH attach using unix domain socket if present,
+| SOCKET_PATH defaults to: %s
+| -c, --config CONFIG_PATH loaded configuration options, CONFIG_PATH
+| defaults to: %s
+| -d, --debug writes all arm logs to %s
+| -b, --blind disable connection lookups
+| -e, --event EVENT_FLAGS event types in message log (default: %s)
+|%s
+| -v, --version provides version information
+| -h, --help presents this help
+|
+|Example:
+|arm -b -i 1643 hide connection data, attaching to control port 1643
+|arm -e we -c /tmp/cfg use this configuration file with 'WARN'/'ERR' events
+
# Important tor configuration options (shown by default)
config.important BandwidthRate
config.important BandwidthBurst
diff --git a/arm/starter.py b/arm/starter.py
index 37c048d..09fa088 100644
--- a/arm/starter.py
+++ b/arm/starter.py
@@ -48,28 +48,9 @@ CONFIG = stem.util.conf.config_dict("arm", {
"startup.dataDirectory": "~/.arm",
"features.config.descriptions.enabled": True,
"features.config.descriptions.persist": True,
+ "msg.help": "",
})
-HELP_MSG = """Usage arm [OPTION]
-Terminal status monitor for Tor relays.
-
- -i, --interface [ADDRESS:]PORT change control interface from %s:%i
- -s, --socket SOCKET_PATH attach using unix domain socket if present,
- SOCKET_PATH defaults to: %s
- -c, --config CONFIG_PATH loaded configuration options, CONFIG_PATH
- defaults to: %s
- -d, --debug writes all arm logs to %s
- -b, --blind disable connection lookups
- -e, --event EVENT_FLAGS event types in message log (default: %s)
-%s
- -v, --version provides version information
- -h, --help presents this help
-
-Example:
-arm -b -i 1643 hide connection data, attaching to control port 1643
-arm -e we -c /tmp/cfg use this configuration file with 'WARN'/'ERR' events
-""" % (CONFIG["startup.interface.ipAddress"], CONFIG["startup.interface.port"], CONFIG["startup.interface.socket"], DEFAULT_CONFIG, LOG_DUMP_PATH, CONFIG["startup.events"], arm.logPanel.EVENT_LISTING)
-
# filename used for cached tor config descriptions
CONFIG_DESC_FILENAME = "torConfigDesc.txt"
@@ -332,6 +313,19 @@ def main():
print str(exc) + " (for usage provide --help)"
sys.exit()
+ # attempts to fetch attributes for parsing tor's logs, configuration, etc
+
+ config = stem.util.conf.get_config("arm")
+
+ pathPrefix = os.path.dirname(sys.argv[0])
+ if pathPrefix and not pathPrefix.endswith("/"):
+ pathPrefix = pathPrefix + "/"
+
+ try:
+ config.load("%sarm/settings.cfg" % pathPrefix)
+ except IOError, exc:
+ stem.util.log.warn(NO_INTERNAL_CFG_MSG % arm.util.sysTools.getFileErrorMsg(exc))
+
for opt, arg in opts:
if opt in ("-i", "--interface"):
# defines control interface address/port
@@ -362,7 +356,7 @@ def main():
print "arm version %s (released %s)\n" % (__version__, __release_date__)
sys.exit()
elif opt in ("-h", "--help"):
- print HELP_MSG
+ print CONFIG['msg.help'] % (ARGS['control_address'], ARGS['control_port'], ARGS['control_socket'], DEFAULT_CONFIG, LOG_DUMP_PATH, ARGS['logged_events'], arm.logPanel.EVENT_LISTING)
sys.exit()
if isDebugMode:
@@ -388,18 +382,6 @@ def main():
except (OSError, IOError), exc:
print "Unable to write to debug log file: %s" % arm.util.sysTools.getFileErrorMsg(exc)
- config = stem.util.conf.get_config("arm")
-
- # attempts to fetch attributes for parsing tor's logs, configuration, etc
- pathPrefix = os.path.dirname(sys.argv[0])
- if pathPrefix and not pathPrefix.endswith("/"):
- pathPrefix = pathPrefix + "/"
-
- try:
- config.load("%ssettings.cfg" % pathPrefix)
- except IOError, exc:
- stem.util.log.warn(NO_INTERNAL_CFG_MSG % arm.util.sysTools.getFileErrorMsg(exc))
-
# loads user's personal armrc if available
if os.path.exists(configPath):
try:
More information about the tor-commits
mailing list