pvl/verkko/hosts.py
changeset 20 790e78bed63e
parent 19 4e2e26f4d058
child 21 55ca67b5000d
--- a/pvl/verkko/hosts.py	Wed Oct 24 16:04:41 2012 +0300
+++ b/pvl/verkko/hosts.py	Wed Oct 24 16:14:48 2012 +0300
@@ -232,12 +232,12 @@
                         )
                     ),
                     html.td(class_='ip')(
-                        html.a(href=self.url(ListHandler, ip=host.ip))(
+                        html.a(href=url(ip=host.ip))(
                             host.ip
                         )
                     ),
                     html.td(class_='mac')(
-                        html.a(href=self.url(ListHandler, mac=host.mac))(
+                        html.a(href=url(mac=host.mac))(
                             host.render_mac()
                         )
                     ),
@@ -269,31 +269,6 @@
                 table,
             )
 
-    def render_host (self, host, hosts) :
-        attrs = (
-                ('Network',     host.gw),
-                ('IP',          host.ip),
-                ('MAC',         host.mac),
-                ('Hostname',    host.name),
-                ('DNS',         host.dns()),
-                ('First seen',  host.first_seen),
-                ('Last seen',   host.last_seen),
-                ('Last state',  host.render_state()),
-                ('Total messages',      host.count),
-        )
-
-        return (
-            html.h2('Host'),
-            html.dl(
-                (html.dt(title), html.dd(value)) for title, value in attrs
-            ),
-
-            html.h2('Related'),
-            self.render_hosts(hosts),
-
-            html.a(href=self.url(ListHandler))(html('«'), 'Back'),
-        )
-
 class ItemHandler (BaseHandler) :
     def process (self, id) :
         self.hosts = self.query()
@@ -307,8 +282,40 @@
     def title (self) :
         return u"DHCP Host: {self.host}".format(self=self)
 
+    def render_host (self, host) :
+        """
+            Details for specific host.
+        """
+
+        attrs = (
+                ('Network',     host.gw),
+                ('IP',          host.ip),
+                ('MAC',         host.mac),
+                ('Hostname',    host.name),
+                ('DNS',         host.dns()),
+                ('First seen',  host.first_seen),
+                ('Last seen',   host.last_seen),
+                ('Last state',  host.render_state()),
+                ('Total messages',      host.count),
+        )
+        
+        return (
+            html.dl(
+                (html.dt(title), html.dd(value)) for title, value in attrs
+            )
+        )
+
     def render (self) :
-        return self.render_host(self.host, self.hosts)
+        return (
+            html.h2('Host'),
+            self.render_host(self.host),
+
+            html.h2('Related'),
+            self.render_hosts(self.hosts),
+
+            html.a(href=self.url(ListHandler))(html('«'), 'Back'),
+        )
+
 
 class ListHandler (BaseHandler) :
     # pagination