X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=web%2FMonitorWeb%2Fmonitorweb%2Fcontrollers.py;h=0f919ab71c07773f801aad5afe895be25a295216;hb=32e47491837a321e684ea167ab6aa430145562f1;hp=69413270d2942d9f8dcd5e69159e71f611bb6c40;hpb=dbb6bde37dbd9042af5abb57cc966e5f338776ae;p=monitor.git diff --git a/web/MonitorWeb/monitorweb/controllers.py b/web/MonitorWeb/monitorweb/controllers.py index 6941327..0f919ab 100644 --- a/web/MonitorWeb/monitorweb/controllers.py +++ b/web/MonitorWeb/monitorweb/controllers.py @@ -11,6 +11,8 @@ import os from monitor.database.info.model import * #from monitor.database.zabbixapi.model import * from monitor_xmlrpc import MonitorXmlrpcServer +from controllers_local import LocalExtensions +from pcucontrol.reboot import pcu_name from monitor import util from monitor import reboot @@ -59,6 +61,7 @@ class NodeQueryFields(widgets.WidgetsList): 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") @@ -146,7 +149,7 @@ def format_ports(data, pcumodel=None): def format_pcu_shortstatus(pcu): status = "error" if pcu: - if pcu.reboot_trial_status == str(0): + if pcu.reboot_trial_status == str(0) or pcu.reboot_trial_status == "Test: No error": status = "Ok" elif pcu.reboot_trial_status == "NetDown" or pcu.reboot_trial_status == "Not_Run": status = pcu.reboot_trial_status @@ -168,6 +171,7 @@ def prep_pcu_for_display(pcu): agg.ports = format_ports(pcu.port_status, pcu.plc_pcu_stats['model']) agg.status = format_pcu_shortstatus(pcu) + agg.pcu_name = pcu_name(pcu.plc_pcu_stats) #print pcu.entry_complete agg.entry_complete_str = pcu.entry_complete @@ -264,7 +268,7 @@ def prep_node_for_display(node, pcuhash=None, preppcu=True, asofdate=None): 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") @@ -602,6 +606,12 @@ class Root(controllers.RootController, MonitorXmlrpcServer): for pcuid_key in pcus: pcuquery += [pcus[pcuid_key]] + #for a in nodequery: + # print type(a.node) + # print type(a.node.hostname) + nodequery.sort(lambda a,b: cmp(a.node.hostname,b.node.hostname)) + pcuquery.sort(lambda a,b: cmp(a.pcu_name,b.pcu_name)) + actionlist_widget = ActionListWidget(template='monitorweb.templates.actionlist_template') return dict(sitequery=sitequery, pcuquery=pcuquery, nodequery=nodequery, actions=actions_list, actionlist_widget=actionlist_widget, since=since, exceptions=exceptions) @@ -669,7 +679,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer): 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) @@ -714,13 +724,15 @@ class Root(controllers.RootController, MonitorXmlrpcServer): 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------------------" @@ -898,3 +910,4 @@ class Root(controllers.RootController, MonitorXmlrpcServer): print "redirecting 3" return dict() +