From d435505bea5b9d735447f4900d7e502cae11412f Mon Sep 17 00:00:00 2001 From: Arturo FilastoĢ€ Date: Wed, 17 Aug 2011 18:16:22 +0200 Subject: 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(-) (limited to 'packages') 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 = "" + 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) +

This is the content of $:torrc

+$:content -- cgit v1.2.3