commit d435505bea5b9d735447f4900d7e502cae11412f Author: Arturo Filastò hellais@torproject.org Date: Wed Aug 17 18:16:22 2011 +0200
Add support for displaying content of torrc file --- packages/torouter-web/config.py | 1 + packages/torouter-web/runui.py | 2 +- packages/torouter-web/static/main.css | 14 ++++++++++++++ packages/torouter-web/tui/controllers/tor.py | 14 ++++++++++---- packages/torouter-web/tui/utils/parsing.py | 21 +++++++++++++++++++++ packages/torouter-web/tui/views/torstatus.html | 4 +++- 6 files changed, 50 insertions(+), 6 deletions(-)
diff --git a/packages/torouter-web/config.py b/packages/torouter-web/config.py index 8fd716d..15057df 100644 --- a/packages/torouter-web/config.py +++ b/packages/torouter-web/config.py @@ -12,4 +12,5 @@ globals = {} authinfo = ("test", "test")
interfaces_file = os.getcwd() + "/../torouter-prep/configs/interfaces" +torrc_file = os.getcwd() + "/../torouter-prep/configs/torrc"
diff --git a/packages/torouter-web/runui.py b/packages/torouter-web/runui.py index 3d2dfc8..80836b3 100644 --- a/packages/torouter-web/runui.py +++ b/packages/torouter-web/runui.py @@ -20,7 +20,7 @@ urls = ( '/network/wired', 'tui.controllers.network.wired', '/network/status', 'tui.controllers.network.status', '/tor', 'tui.controllers.tor.status', - '/tor/config', 'tui.controllers.tor.config', + '/tor/config', 'tui.controllers.tor.torrc', '/logout', 'tui.controllers.main.logout' ) # '/wizard/([0-9a-f]{1,2})?', 'tui.controllers.wizard.step', diff --git a/packages/torouter-web/static/main.css b/packages/torouter-web/static/main.css index 5626e92..34e26cf 100644 --- a/packages/torouter-web/static/main.css +++ b/packages/torouter-web/static/main.css @@ -35,3 +35,17 @@ div.header ul#submenu li { font-size: 15px; }
+/* More specific stuff */ +#torrc { +list-style: none; +line-height: 2em; +} + +#torrc em { +font-weight: bold; +font-style: normal; +} + + + + diff --git a/packages/torouter-web/tui/controllers/tor.py b/packages/torouter-web/tui/controllers/tor.py index d07cb71..af8678c 100644 --- a/packages/torouter-web/tui/controllers/tor.py +++ b/packages/torouter-web/tui/controllers/tor.py @@ -1,22 +1,28 @@ import web import view, config from view import render -from tui.utils import session +from tui.utils import session, parsing
""" The main Tor status page """ class status: def GET(self): - return render.base(render.torstatus()) + trc = parsing.torrc(config.torrc_file) + trc.parse() + output = trc.html_output() + return render.base(render.torstatus(output,config.torrc_file))
def POST(self): - return render.base(render.torstatus()) + trc = parsing.torrc(config.torrc_file) + trc.parse() + output = trc.html_output() + return render.base(render.torstatus(output,config.torrc_file))
""" Tor configuration page """ -class config: +class torrc: def update_config(self, data): return True
diff --git a/packages/torouter-web/tui/utils/parsing.py b/packages/torouter-web/tui/utils/parsing.py index e9ccc83..6acf988 100644 --- a/packages/torouter-web/tui/utils/parsing.py +++ b/packages/torouter-web/tui/utils/parsing.py @@ -74,6 +74,27 @@ class interfaces: else: print "%s %s" % (item[0],item[1])
+class torrc: + def __init__(self,filename): + self.fp = open(filename, "r") + self.parsed = [] + + def parse(self): + for line in self.fp.readlines(): + if line.startswith("#") or line == "": + continue + else: + self.parsed.append(line) + + def html_output(self): + output = "<ul id="torrc">" + for line in self.parsed: + if line != "\n": + output += "<li><em>%s</em> %s</li>" % (line.split(" ")[0], " ".join(line.split(" ")[1:])) + output += "</ul>" + print output + return output + #interfaces_file = os.getcwd() + "/../../../torouter-prep/configs/interfaces" #itfc = interfaces(interfaces_file) #itfc.parse() diff --git a/packages/torouter-web/tui/views/torstatus.html b/packages/torouter-web/tui/views/torstatus.html index ed83531..27b2888 100644 --- a/packages/torouter-web/tui/views/torstatus.html +++ b/packages/torouter-web/tui/views/torstatus.html @@ -1 +1,3 @@ -The main Tor status page +$def with (content, torrc) +<h2>This is the content of $:torrc</h2> +$:content
tor-commits@lists.torproject.org