[tor-commits] [torouter/master] Move the configuration read/write functions to separate class

hellais at torproject.org hellais at torproject.org
Fri Aug 12 19:24:58 UTC 2011


commit 4f42f3bcd60505acfc712aae08c5726175978bb2
Author: Arturo Filastò <hellais at torproject.org>
Date:   Fri Aug 12 21:24:19 2011 +0200

    Move the configuration read/write functions to separate class
---
 packages/torouter-web/tui/controllers/network.py |   36 +--------
 packages/torouter-web/tui/utils/configuration.py |   85 ++++++++++++++++++++++
 packages/torouter-web/tui/views/firewall.html    |    8 ++-
 packages/torouter-web/tui/views/wired.html       |    8 ++-
 4 files changed, 103 insertions(+), 34 deletions(-)

diff --git a/packages/torouter-web/tui/controllers/network.py b/packages/torouter-web/tui/controllers/network.py
index 10b0c9d..4eb1991 100644
--- a/packages/torouter-web/tui/controllers/network.py
+++ b/packages/torouter-web/tui/controllers/network.py
@@ -1,7 +1,7 @@
 import web
 import view, config
 from view import render
-from tui.utils import session
+from tui.utils import session,configuration
 
 """
 This function is used to generate the network
@@ -55,7 +55,7 @@ class firewall:
 
   def GET(self):
     if session.is_logged() > 0:
-      return render.base(render.main(),menu(0))
+      return render.base(render.firewall(configuration.get_form("firewall")),menu(0))
     else:
       return render.base(render.login())
 
@@ -72,41 +72,13 @@ class firewall:
 Wireless network configuration page
 """
 class wireless:
-  def get_current_config(self):
-    conf = {'essid' : None, 'encryption' : None, 'key' : None}
-    
-    # XXX Dummy default config for testing purposes
-    #     plugin here the actual code for config retreival
-    conf['essid'] = "Torouter"
-    conf['encryption'] = "WPA2"
-    conf['key'] = "ljdasjkbcuBH12389Ba"
-    
-
-    return conf
-
-  def build_form(self):
-    c = self.get_current_config()
-    ret_form = web.form.Form(
-      web.form.Textbox(name='essid', 
-        description='Wireless ESSID', value=c['essid']),
-      web.form.Dropdown(name='enctype', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
-        description='Wireless encryption scheme', value=c['encryption']),
-      web.form.Password(name='key',
-        description='key', value=c['key']),
-      web.form.Button('save')
-    )
-    self.form = ret_form
-    
-    return True
-  
   # XXX do all the backend stuff
   def update_config(self, data):
     return True
 
   def GET(self):
     if session.is_logged() > 0:
-      if self.build_form():
-        return render.base(render.wireless(self.form()),menu(2))
+      return render.base(render.wireless(configuration.get_form("wireless")),menu(2))
     else:
       return render.base(render.login())
 
@@ -128,7 +100,7 @@ class wired:
 
   def GET(self):
     if session.is_logged() > 0:
-      return render.base(render.wired(),menu(3))
+      return render.base(render.wired(configuration.get_form("wired")),menu(3))
     else:
       return render.base(render.login())
 
diff --git a/packages/torouter-web/tui/utils/configuration.py b/packages/torouter-web/tui/utils/configuration.py
new file mode 100644
index 0000000..88bbc05
--- /dev/null
+++ b/packages/torouter-web/tui/utils/configuration.py
@@ -0,0 +1,85 @@
+import web
+import config
+
+def get(name):
+  conf = {}
+  # XXX The content of these functions are just
+  #     skeletons
+  if name == "wireless":
+    conf['essid'] = "Torouter"
+    conf['encryption'] = "WPA2"
+    conf['key'] = "ljdasjkbcuBH12389Ba"   
+    return conf
+  elif name == "firewall":
+    conf['el1'] = "Element 1"
+    conf['el2'] = "Element 2"
+    conf['el3'] = "Element 3"
+    return conf
+  elif name == "wired":
+    conf['el1'] = "Element 1"
+    conf['el2'] = "Element 2"
+    conf['el3'] = "Element 3"
+    return conf
+  elif name == "tor":
+    conf['el1'] = "Element 1"
+    conf['el2'] = "Element 2"
+    conf['el3'] = "Element 3"
+    return conf
+  
+def write(name, data):
+  if name == "wireless":
+    return True
+  elif name == "firewall":
+    return True
+  elif name == "wired":
+    return True
+  elif name == "tor":
+    return True
+  
+def get_form(name):
+  # Also these are just skeletons
+  if name == "wireless":
+    c = get(name)
+    return web.form.Form(
+      web.form.Textbox(name='essid',
+        description='Wireless ESSID', value=c['essid']),
+      web.form.Dropdown(name='enctype', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
+        description='Wireless encryption scheme', value=c['encryption']),
+      web.form.Password(name='key',
+        description='key', value=c['key']),
+      web.form.Button('save')
+    )
+  elif name == "firewall":
+    c = get(name) 
+    return web.form.Form(
+      web.form.Textbox(name='el1',
+        description='The first element', value=c['el2']),
+      web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
+        description='The second selement', value=c['el2']),
+      web.form.Password(name='el3',
+        description='The third element', value=c['el3']),
+      web.form.Button('save')
+    )
+  elif name == "wired":
+    c = get(name)
+    return web.form.Form(
+      web.form.Textbox(name='el1',
+        description='The first element', value=c['el2']),
+      web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
+        description='The second selement', value=c['el2']),
+      web.form.Password(name='el3',
+        description='The third element', value=c['el3']),
+      web.form.Button('save')
+    )
+  elif name == "tor":
+    c = get(name)
+    return web.form.Form(
+      web.form.Textbox(name='el1',
+        description='The first element', value=c['el2']),
+      web.form.Dropdown(name='el2', args=['WPA2', 'WPA', 'WEP (not reccomended)', 'open'],
+        description='The second selement', value=c['el2']),
+      web.form.Password(name='el3',
+        description='The third element', value=c['el3']),
+      web.form.Button('save')
+    )
+
diff --git a/packages/torouter-web/tui/views/firewall.html b/packages/torouter-web/tui/views/firewall.html
index c3a244d..30f5a9b 100644
--- a/packages/torouter-web/tui/views/firewall.html
+++ b/packages/torouter-web/tui/views/firewall.html
@@ -1 +1,7 @@
-the firewall page
+$def with (form)
+
+<h2>Firewall configuration page</h2>
+
+<form action="" method="POST">
+$:form.render()
+</form>
diff --git a/packages/torouter-web/tui/views/wired.html b/packages/torouter-web/tui/views/wired.html
index 3a517d1..3676f63 100644
--- a/packages/torouter-web/tui/views/wired.html
+++ b/packages/torouter-web/tui/views/wired.html
@@ -1 +1,7 @@
-the wired page
+$def with (form)
+
+<h2>Wired configuration page</h2>
+
+<form action="" method="POST">
+$:form.render()
+</form>



More information about the tor-commits mailing list