[arm/release] Source flags for color prompt and hostname lookups

commit 6e88a85a7a8c45d798e8471e9ce27295aa0b122e Author: Damian Johnson <atagar@torproject.org> Date: Tue Sep 13 09:34:30 2011 -0700 Source flags for color prompt and hostname lookups Adding source flags for portions of the interpretor that include substantial tradeoffs. For color prompts there's bugs in small displays/huge input, and hostname lookups add a second or two to the runtime of /info queries (otherwise the lookup is instantanious). Defaulting the hostname lookups to be disabled for now. There's plans for having cached results with... https://trac.torproject.org/projects/tor/wiki/doc/arm#CircuitDetails though I haven't a clue if it'll ever be implemented. --- src/util/torInterpretor.py | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/util/torInterpretor.py b/src/util/torInterpretor.py index 2c4e7fa..fbb33da 100644 --- a/src/util/torInterpretor.py +++ b/src/util/torInterpretor.py @@ -11,6 +11,9 @@ import version from util import connections, enum, hostnames, torTools +COLOR_PROMPT = True # provides a colored interpretor prompt +INFO_HOSTNAMES = False # hostname lookups in /info results + INIT_MSG = """Arm %s Control Interpretor Enter \"/help\" for usage information and \"/quit\" to stop. """ % version.VERSION @@ -325,7 +328,11 @@ class ControlInterpretor: if not address or not port: return locale = conn.getInfo("ip-to-country/%s" % address, "??") - hostname = hostnames.resolve(address, 10) + + if INFO_HOSTNAMES: + hostname = hostnames.resolve(address, 10) + else: + hostname = None # TODO: Most of the following is copied from the _getDetailContent method # of cli/connections/connEntry.py - useful bits should be refactored. @@ -370,8 +377,9 @@ class ControlInterpretor: outputEntry.append(("%s (%s)\n" % (nickname, fingerprint), infoAttr)) + hostnameLabel = ", %s" % hostname if hostname else "" outputEntry.append(("address: ", headingAttr)) - outputEntry.append(("%s:%s (%s, %s)\n" % (address, port, locale, hostname), infoAttr)) + outputEntry.append(("%s:%s (%s%s)\n" % (address, port, locale, hostnameLabel), infoAttr)) outputEntry.append(("published: ", headingAttr)) outputEntry.append(("%s %s" % (pubTime, pubDate) + "\n", infoAttr)) @@ -504,8 +512,11 @@ def prompt(): # - if the terminal's width is smaller than the non-rendered prompt length # then the cursor and some movement will be displaced - prompt = format(">>> ", Color.GREEN, Attr.BOLD) - prompt += "\x1b[0m" * 10 + if COLOR_PROMPT: + prompt = format(">>> ", Color.GREEN, Attr.BOLD) + prompt += "\x1b[0m" * 10 + else: + prompt = ">>> " input = ""
participants (1)
-
atagar@torproject.org