from monitor.database.info.model import *
#from monitor.database.zabbixapi.model import *
from monitor_xmlrpc import MonitorXmlrpcServer
+from controllers_local import LocalExtensions
from monitor import util
from monitor import reboot
external_dns_status = widgets.CheckBox(label="Hostname Resolves?")
kernel_version = widgets.CheckBox(label="Kernel")
bootcd_version = widgets.CheckBox(label="BootCD")
- boot_server = widgets.CheckBox(label="Boot Server")
+ boot_server = widgets.CheckBox(label="Boot Server")
+ install_date = widgets.CheckBox(label="Installation Date")
observed_status = widgets.CheckBox(label="Observed Status")
uptime = widgets.CheckBox(label="Uptime")
traceroute = widgets.CheckBox(label="Traceroute")
port_status = widgets.CheckBox(label="Port Status")
+ plc_pcuid = widgets.CheckBox(label="PCU ID")
rpms = widgets.CheckBox(label="RPM")
rpmvalue = widgets.TextField(label="RPM Pattern")
return agg
-class Root(controllers.RootController, MonitorXmlrpcServer):
+class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions):
@expose(template="monitorweb.templates.welcome")
def index(self):
# log.debug("Happy TurboGears Controller Responding For Duty")
agg = node.__dict__.copy()
else:
agg = node.to_dict()
- agg.update(agg['plc_node_stats'])
+ if agg['plc_node_stats']:
+ agg.update(agg['plc_node_stats'])
+ if agg['install_date']:
+ agg['install_date'] = time.mktime(time.strptime(agg['install_date'], "%a %b %d %H:%M:%S %Y"))
if agg['kernel_version']:
agg['kernel_version'] = agg['kernel_version'].split()[2]
if 'traceroute' in data and agg['traceroute']:
if 'rpmvalue' in data and 'rpms' in data:
if agg['rpms']:
rpm_list = agg['rpms'].split()
- rpm_list = filter(lambda x: data['rpmvalue'] in x, rpm_list)
+ rpm_list = filter(lambda x: re.match(data['rpmvalue'], x, re.I),
+ rpm_list)
agg['rpms'] = " ".join(rpm_list)
query.append(agg)
query = []
if pcu_id:
fbnode = HistoryPCURecord.get_by(plc_pcuid=pcu_id)
- l = fbnode.versions[-100:]
+ l = fbnode.versions[-1000:]
l.reverse()
for pcu in l:
#prep_node_for_display(node)
if loginbase:
fbsite = HistorySiteRecord.get_by(loginbase=loginbase)
# TODO: add links for earlier history if desired.
- l = fbsite.versions[-100:]
+ l = fbsite.versions[-1000:]
l.reverse()
for site in l:
query.append(site)
return dict(query=query, loginbase=loginbase)
+ @expose("cheetah:monitorweb.templates.pculist_plain", as_format="plain",
+ accept_format="text/plain", content_type="text/plain")
@expose(template="monitorweb.templates.pculist")
def pcu(self, filter='all'):
print "PCUVIEW------------------"
print "redirecting 3"
return dict()
+