--- a/pvl/verkko/hosts.py Wed Oct 24 19:42:16 2012 +0300
+++ b/pvl/verkko/hosts.py Wed Oct 24 19:54:21 2012 +0300
@@ -13,6 +13,7 @@
# XXX: this should actually be DHCPHost
class Host (object) :
DATE_FMT = '%Y%m%d'
+ TIME_FMT = '%H:%M:%S'
MAC_HEX = r'([A-Za-z0-9]{2})'
MAC_SEP = r'[-:.]?'
@@ -86,12 +87,20 @@
return "{self.state}: {self.error}".format(self=self)
else :
return self.state
+
+ @classmethod
+ def format_datetime (cls, dt) :
+ if (datetime.datetime.now() - dt).days :
+ return dt.strftime(cls.DATE_FMT)
+
+ else :
+ return dt.strftime(cls.TIME_FMT)
def seen (self) :
return (
- html.span(title=self.first_seen)(self.first_seen.strftime(self.DATE_FMT)),
+ html.span(title=self.first_seen)(self.format_datetime(self.first_seen)),
'-',
- html.span(title=self.last_seen)(self.last_seen.strftime(self.DATE_FMT)),
+ html.span(title=self.last_seen)(self.format_datetime(self.last_seen))
)
def dns (self) :
@@ -162,7 +171,7 @@
('MAC', 'mac', 'mac', 'mac' ),
('Hostname', 'name', False, False ),
('Network', 'net', 'net', False ),
- ('Seen', 'seen', 'seen', False ),
+ ('Seen', 'seen', 'seen', 'seen' ),
('State', 'state', 'state', False ),
)
@@ -212,7 +221,7 @@
cell = value
if filter :
- cell = html.a(href=self.url(ListHandler, **{attr: value}))(value)
+ cell = html.a(href=self.url(ListHandler, **{attr: value}))(cell)
if cssclass is True :
cssclass = attr
@@ -257,7 +266,7 @@
render_cell('name', host.name, htmlvalue=host.render_name()),
render_cell('gw', host.gw),
- html.td(host.seen()),
+ render_cell('seen', host.seen()),
html.td(class_=host.state_class(), title=host.state_title())(host.state),
) for i, host in enumerate(hosts)
),
--- a/static/style.css Wed Oct 24 19:42:16 2012 +0300
+++ b/static/style.css Wed Oct 24 19:54:21 2012 +0300
@@ -104,6 +104,9 @@
border: thin solid #ffffff;
padding: 0.25em 1em;
+
+ /* Do not normally wrap */
+ white-space: nowrap;
}
thead a,
@@ -167,7 +170,6 @@
/*
* Hosts
*/
-
.id
{
font-weight: bold;
@@ -180,6 +182,17 @@
font-family: monospace;
}
+td.name
+{
+ /* Wrap */
+ white-space: normal;
+}
+
+
+.seen
+{
+}
+
.dhcp-search { background-color: #444488; }
.dhcp-ack { background-color: #448844; }
.dhcp-nak { background-color: #884444; }