You can subscribe to this list here.
2007 |
Jan
|
Feb
(65) |
Mar
(276) |
Apr
(544) |
May
(638) |
Jun
(225) |
Jul
(204) |
Aug
(294) |
Sep
(532) |
Oct
(506) |
Nov
(324) |
Dec
(359) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(208) |
Feb
(225) |
Mar
(248) |
Apr
(388) |
May
(222) |
Jun
(47) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@ze...> - 2007-03-06 14:15:11
|
Author: ian Date: 2007-03-06 08:15:05 -0600 (Tue, 06 Mar 2007) New Revision: 4195 Modified: trunk/Products/ZenUtils/js/zenui.js Log: * Added a handler for onmouseout on the menu hide button Modified: trunk/Products/ZenUtils/js/zenui.js =================================================================== --- trunk/Products/ZenUtils/js/zenui.js 2007-03-06 14:03:20 UTC (rev 4194) +++ trunk/Products/ZenUtils/js/zenui.js 2007-03-06 14:15:05 UTC (rev 4195) @@ -147,6 +147,9 @@ connect(leftPane, 'onmouseout', function(){ t=setTimeout('doHiding()',500); }); + connect('leftPaneToggle', 'onmouseout', function(){ + t=setTimeout('doHiding()',500); + }); connect(paneToggle, 'onclick', function(){ clearTimeout(t); toggleLeftPane(); |
From: <sv...@ze...> - 2007-03-06 14:03:22
|
Author: ian Date: 2007-03-06 08:03:20 -0600 (Tue, 06 Mar 2007) New Revision: 4194 Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_depressed.gif trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded.gif trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded_depressed.gif trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_shadow.gif trunk/Products/ZenWidgets/skins/zenui/img/panetoggle_bg_shadow.gif Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenModel/skins/zenmodel/zenoss.css trunk/Products/ZenUtils/js/zenui.js trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg.gif Log: * Finished work on the leftpane menu Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-06 13:44:20 UTC (rev 4193) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-06 14:03:20 UTC (rev 4194) @@ -20,7 +20,7 @@ <div id="frame"> <div metal:use-macro="here/templates/macros/topPane"/> <div metal:use-macro="here/templates/macros/infoBar"/> - <div id="paneToggle" onclick="toggleLeftPane();"> + <div id="paneToggle"> </div> <style tal:condition="python:'Zenoss_Collapsed_Menu' in here.REQUEST.HTTP_COOKIE"> @@ -28,8 +28,14 @@ #rightPane { margin-left:12px;} #paneToggle { background-image: url('paneToggle_bg_collapsed.gif'); + border-right: medium none; } - #leftPaneToggle{ display:block;} + #leftPaneToggle{ display:block; + background:transparent url(img/leftpanetoggle_bg.gif) top + left repeat-x; + height: 30px; + width: 30px; + } #breadCrumbPane{ padding-left: 35px;} </style> @@ -217,7 +223,8 @@ ====================================================== --> <div id="tabsPane" metal:define-macro="tabsPane"> <table class="tabtable" cellpadding="0" cellspacing="0" - tal:define="ztabs python:here.zentinelTabs(template.id);"> + tal:define="ztabs python:here.zentinelTabs(template.id); + tabnames python:[x['name'] for x in ztabs]"> <tr> <td tal:repeat="tab ztabs" tal:attributes="class python:tab.get('selected', None) @@ -236,6 +243,12 @@ </div> </td> + <td class='tabletitleselected' + tal:condition="python:False"> + <div id="selectedtablinehider"> + Other Page + </div> + </td> <td class="contextmenutab"> <span metal:use-macro="here/zenuimacros/macros/contextmenu"/> </td> Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-06 13:44:20 UTC (rev 4193) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-06 14:03:20 UTC (rev 4194) @@ -34,7 +34,7 @@ border-bottom: 1px solid #444; height: 25px; line-height: 25px; - margin-bottom: 20px; + margin-bottom: 10px; padding-left: 10px; padding-top: 5px; position: relative; @@ -44,7 +44,6 @@ } #leftPaneToggle { - background: transparent url('img/leftpanetoggle_bg.gif') top left repeat-x; height: 30px; line-height: 30px; width: 30px; @@ -53,11 +52,29 @@ left: 0px; border-right: 1px solid black; cursor: pointer; - display: none; z-index: 3000; + width: 115px; + /*background: #5a6f8f url('img/titlebar_bg.gif') top left repeat-x;*/ + background: transparent url('img/leftpanetoggle_bg_expanded.gif') + top left no-repeat; } +.leftPaneTogglehover { + background: transparent url('img/leftpanetoggle_bg_depressed.gif') + top left repeat-x; +} +.paneToggleInvisible { + width: 120px; + background-color: #5a6f8f; + border-right: 1px solid darkgrey; + background-image: none; +} +.paneToggleVisible { + background: transparent url('img/leftpanetoggle_bg_depressed.gif') + top left repeat-x; +} + #logo { padding:0; margin:0; @@ -150,6 +167,7 @@ /* padding-top: 10px;*/ width: 110px; background-color: #666; + border-right: 1px solid black; } #leftPane p { @@ -683,7 +701,8 @@ top: 87px; left: 0px; height: 20px; - width: 117px; + width: 115px; + border-right: 1px solid black; z-index: 1000; cursor: pointer; background: transparent url('img/paneToggle_bg.gif') top left no-repeat; Modified: trunk/Products/ZenUtils/js/zenui.js =================================================================== --- trunk/Products/ZenUtils/js/zenui.js 2007-03-06 13:44:20 UTC (rev 4193) +++ trunk/Products/ZenUtils/js/zenui.js 2007-03-06 14:03:20 UTC (rev 4194) @@ -59,14 +59,25 @@ function hideLeftPane() { var leftPane = $('leftPane'); var rightPane = $('rightPane'); - showElement('leftPaneToggle'); + //showElement('leftPaneToggle'); makeInvisible(leftPane); makeInvisible($('paneToggle')); setStyle('paneToggle', { 'background-image':'url(img/paneToggle_bg_collapsed.gif)', + 'border-right':'1px solid black' }); setStyle('breadCrumbPane', { 'padding-left':'35px'}); setStyle(rightPane, {'margin-left':'12px'}); + setStyle('leftPaneToggle', { + 'background':'transparent url(img/leftpanetoggle_bg.gif) top left repeat-x', + 'height':'30px', + 'width':'30px' + }); + disconnectAll('leftPaneToggle'); + connect('leftPaneToggle', 'onclick', function(){ + clearTimeout(t); + doShowing(); + }); doHover(); } @@ -75,12 +86,21 @@ var rightPane = $('rightPane'); makeVisible(leftPane); makeVisible($('paneToggle')); - hideElement('leftPaneToggle'); + //hideElement('leftPaneToggle'); setStyle('paneToggle', { 'background-image':'url(img/paneToggle_bg.gif)', + 'border-right':'1px solid black' }); setStyle('breadCrumbPane', { 'padding-left':'120px'}); setStyle(rightPane, {'margin-left':'120px'}); + setStyle('leftPaneToggle', { + 'background':'#5a6f8f url(img/leftpanetoggle_bg_expanded.gif) ' + + 'top left repeat-x', + 'height':'30px', + 'width':'115px' + }); + disconnectAll('leftPaneToggle'); + connect('leftPaneToggle','onclick',toggleLeftPane); cancelHover(); } @@ -113,10 +133,6 @@ // 'padding-top':'2px', 'z-index':'3000' }); - connect('leftPaneToggle', 'onclick', function(){ - clearTimeout(t); - doShowing(); - }); connect(leftPane, 'onmouseover', function(){ clearTimeout(t); doShowing(); @@ -135,6 +151,22 @@ clearTimeout(t); toggleLeftPane(); }); + connect('leftPaneToggle','onmouseover', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg_depressed.gif") top left repeat-x', + }) + }); + connect('leftPaneToggle','onmouseout', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg.gif") top left repeat-x', + }) + }); + connect('leftPaneToggle', 'onclick', function(){ + clearTimeout(t); + doShowing(); + }); setCookie('Zenoss_Collapsed_Menu', 'true',30,'/','',''); } @@ -143,6 +175,20 @@ var paneToggle = $('paneToggle'); disconnectAll(paneToggle); disconnectAll(leftPane); + disconnectAll('leftPaneToggle'); + connect('leftPaneToggle', 'onclick', toggleLeftPane); + connect('leftPaneToggle','onmouseover', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg_expanded_depressed.gif") top left repeat-x', + }) + }); + connect('leftPaneToggle','onmouseout', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg_expanded.gif") top left repeat-x', + }) + }); deleteCookie('Zenoss_Collapsed_Menu','/',''); updateNodeAttributes(leftPane, { 'style':'display:block' @@ -153,8 +199,20 @@ var x = getCookie('Zenoss_Collapsed_Menu'); log(x); if (!x){ - noop(); - //cancelHover(); + disconnectAll('leftPaneToggle'); + connect('leftPaneToggle','onclick',toggleLeftPane); + connect('leftPaneToggle','onmouseover', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg_expanded_depressed.gif") top left repeat-x', + }) + }); + connect('leftPaneToggle','onmouseout', function() { + setStyle('leftPaneToggle', { + 'background':'transparent ' + + 'url("img/leftpanetoggle_bg_expanded.gif") top left repeat-x', + }) + }); } else { hideLeftPane(); } Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_depressed.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_depressed.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded_depressed.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_expanded_depressed.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_shadow.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg_shadow.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg.gif =================================================================== (Binary files differ) Added: trunk/Products/ZenWidgets/skins/zenui/img/panetoggle_bg_shadow.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/panetoggle_bg_shadow.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
From: <sv...@ze...> - 2007-03-06 13:44:26
|
Author: ecn Date: 2007-03-06 07:44:20 -0600 (Tue, 06 Mar 2007) New Revision: 4193 Modified: trunk/Products/ZenRRD/zenprocess.py Log: * use netsnmp based snmp scanner Modified: trunk/Products/ZenRRD/zenprocess.py =================================================================== --- trunk/Products/ZenRRD/zenprocess.py 2007-03-06 03:25:31 UTC (rev 4192) +++ trunk/Products/ZenRRD/zenprocess.py 2007-03-06 13:44:20 UTC (rev 4193) @@ -22,8 +22,14 @@ from twisted.internet import reactor, defer -from twistedsnmp.agentproxy import AgentProxy -from twistedsnmp.tableretriever import TableRetriever +try: + from pynetsnmp.twistedsnmp import AgentProxy + from pynetsnmp.tableretriever import TableRetriever + log.info("Using net-snmp snmp engine") +except NameError, ImportError: + log.warning("Using twistedsnmp engine") + from twistedsnmp.agentproxy import AgentProxy + from twistedsnmp.tableretriever import TableRetriever import Globals from Products.ZenUtils.Driver import drive, driveLater @@ -65,6 +71,10 @@ result.setdefault(v, []).append(a) return result +def closer(value, device): + device.close() + return value + class ScanFailure(Exception): pass class Pid: @@ -163,6 +173,15 @@ # map pid number to Process object self.pids = {} + def open(self): + self._makeProxy() + if hasattr(self.proxy, 'open'): + self.proxy.open() + + def close(self): + if hasattr(self.proxy, 'close'): + self.proxy.close() + def _makeProxy(self): p = self.proxy if (p is None or @@ -199,14 +218,12 @@ del self.processes[name] def get(self, oids): - self._makeProxy() return self.proxy.get(oids, timeout=self.timeout, retryCount=self.tries) def getTables(self, oids): - self._makeProxy() t = TableRetriever(self.proxy, oids, timeout=self.timeout, retryCount=self.tries, @@ -294,7 +311,9 @@ return defer.succeed(None) device.lastScan = time.time() tables = [NAMETABLE, ARGSTABLE] + device.open() d = device.getTables(tables) + d.addBoth(closer, device) d.addCallback(self.storeProcessNames, device) d.addErrback(self.deviceFailure, device) return d @@ -308,7 +327,7 @@ device=device.name, summary='Unable to read processes on device %s' % device.name, severity=Event.Error) - self.logError('Error on device %s' % device.name, error) + self.logError('Error on device %s' % device.name, error.value) def storeProcessNames(self, results, device): @@ -441,7 +460,9 @@ oids.extend([CPU + str(pid), MEM + str(pid)]) if not oids: return defer.succeed(([], device)) + device.open() d = device.get(oids) + d.addBoth(closer, device) d.addCallback(self.storePerfStats, device) d.addErrback(self.error) return d |
From: <sv...@ze...> - 2007-03-06 03:25:31
|
Author: ecn Date: 2007-03-05 21:25:31 -0600 (Mon, 05 Mar 2007) New Revision: 4192 Modified: trunk/Products/ZenModel/PerformanceConf.py Log: #1038 * add getDeviceUpdates() to provide incremental loading capability Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-03-06 03:25:00 UTC (rev 4191) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-03-06 03:25:31 UTC (rev 4192) @@ -21,6 +21,8 @@ import xmlrpclib +from sets import Set + from ZODB.POSException import POSError from AccessControl import ClassSecurityInfo from Globals import DTMLFile @@ -122,15 +124,18 @@ }, ) - - security.declareProtected('View','getDevices') - def getDevices(self, devname=None): + def getDevices(self, devices=None): """Return information for snmp collection on all devices in the form (devname, ip, snmpport, snmpcommunity [(oid, path, type),])""" + if devices: + if not isinstance(devices, list): + devices = Set([devices]) + else: + devices = Set(devices) result = [] for dev in self.devices(): - if devname and dev.id != devname: continue + if devices and dev.id not in devices: continue dev = dev.primaryAq() if dev.monitorDevice(): try: @@ -140,6 +145,25 @@ log.exception("device %s", dev.id) return result + def getDeviceUpdates(self, devices): + """Return a list of devices that have changed. + Takes a list of known devices and the time of last known change. + The result is a list of devices that have changed, + or not in the list.""" + lastChanged = dict(devices) + import pprint + pprint.pprint(lastChanged) + new = Set() + all = Set() + for dev in self.devices(): + dev = dev.primaryAq() + if dev.monitorDevice(): + all.add(dev.id) + if lastChanged.get(dev.id, 0) < float(dev.getLastChange()): + print dev.id + new.add(dev.id) + deleted = Set(lastChanged.keys()) - all + return list(new | deleted) security.declareProtected('View','getDevices') def getSnmpStatus(self, devname=None): |
From: <sv...@ze...> - 2007-03-06 03:25:01
|
Author: ecn Date: 2007-03-05 21:25:00 -0600 (Mon, 05 Mar 2007) New Revision: 4191 Modified: trunk/Products/ZenModel/Device.py Log: #1038 * add last change for incremental updates Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-03-06 03:24:11 UTC (rev 4190) +++ trunk/Products/ZenModel/Device.py 2007-03-06 03:25:00 UTC (rev 4191) @@ -439,7 +439,7 @@ for o in self.os.getMonitoredComponents(): if o.meta_type != "OSProcess": oids.extend(o.getSnmpOidTargets()) - return (self.getSnmpConnInfo(), oids, max) + return (float(self.getLastChange()), self.getSnmpConnInfo(), oids, max) def getDataSourceCommands(self): |
From: <sv...@ze...> - 2007-03-06 03:24:12
|
Author: ecn Date: 2007-03-05 21:24:11 -0600 (Mon, 05 Mar 2007) New Revision: 4190 Modified: trunk/Products/ZenRRD/zenperfsnmp.py Log: #1038 * add incremental loading of configs with local persistent cache Modified: trunk/Products/ZenRRD/zenperfsnmp.py =================================================================== --- trunk/Products/ZenRRD/zenperfsnmp.py 2007-03-06 03:19:07 UTC (rev 4189) +++ trunk/Products/ZenRRD/zenperfsnmp.py 2007-03-06 03:24:11 UTC (rev 4190) @@ -20,9 +20,19 @@ log = logging.getLogger("zen.zenperfsnmp") from sets import Set +import cPickle from twisted.internet import reactor, defer -from twistedsnmp.agentproxy import AgentProxy +try: + from pynetsnmp.twistedsnmp import AgentProxy + log.info("Using net-snmp snmp engine") +except ImportError: + log.warning("Using python-based snmp enging") + from twistedsnmp.agentproxy import AgentProxy +if not hasattr(AgentProxy, 'open'): + def ignore(self): pass + AgentProxy.open = ignore + AgentProxy.close = ignore import Globals from Products.ZenUtils.Chain import Chain @@ -40,6 +50,13 @@ MAX_OIDS_PER_REQUEST = 40 MAX_SNMP_REQUESTS = 30 +def pickleName(id): + return performancePath('Devices/%s/config.pickle' % id) + +def makeDirs(dir): + if not os.path.exists(dir): + os.makedirs(dir) + def chunk(lst, n): 'break lst into n-sized chunks' return [lst[i:i+n] for i in range(0, len(lst), n)] @@ -106,6 +123,7 @@ self._stopTime = time.time() if not self._deferred.called: self._deferred.callback(self) + log.info("Count %d good %d bad %d time %f", *self.stats()) def finished(self): @@ -192,14 +210,30 @@ self.cycleComplete = False self.snmpOidsRequested = 0 perfRoot = performancePath('') - if not os.path.exists(perfRoot): - os.makedirs(perfRoot) + makeDirs(perfRoot) + self.loadConfigs(perfRoot) self.fileCleanup = FileCleanup(perfRoot, '.*\\.rrd$', self.maxRrdFileAge, frequency=90*60) self.fileCleanup.process = self.cleanup self.fileCleanup.start() + + def loadConfigs(self, perfRoot): + "Read local configuration values at startup" + base = performancePath('Devices') + makeDirs(base) + root, ds, fs = os.walk(base).next() + for d in ds: + configFile = pickleName(d) + if os.path.exists(configFile): + fp = file(configFile, 'rb') + try: + self.updateDeviceConfig(cPickle.load(fp)) + finally: + fp.close() + + def cleanup(self, fullPath): self.log.warning("Deleting old RRD file: %s", fullPath) try: @@ -221,15 +255,27 @@ self.syncdb() driveLater(self.configCycleInterval * 60, self.startUpdateConfig) - yield self.model.callRemote('getDevices', self.options.device) + log.info("checking for outdated configs") + current = [(k, v.lastChange) for k, v in self.proxies.items()] + yield self.model.callRemote('getDeviceUpdates', current) + + devices = driver.next() + if self.options.device: + devices = [self.options.device] + + log.info("fetching configs for %r", devices) + yield self.model.callRemote('getDevices', devices) self.updateDeviceList(driver.next()) + log.info("fetching snmp status") yield self.model.callRemote('getSnmpStatus', self.options.device) self.updateSnmpStatus(driver.next()) + log.info("fetching property items") yield self.model.callRemote('propertyItems') self.setPropertyItems(driver.next()) + log.info("fetching default RRDCreateCommand") yield self.model.callRemote('getDefaultRRDCreateCommand') createCommand = driver.next() @@ -246,15 +292,19 @@ self.log.warn("no devices found, keeping existing list") return + deviceNames = Set() for snmpTargets in deviceList: self.updateDeviceConfig(snmpTargets) + deviceNames.add(snmpTargets[1][0]) # stop collecting those no longer in the list - deviceNames = Set([d[0][0] for d in deviceList]) doomed = Set(self.proxies.keys()) - deviceNames for name in doomed: self.log.debug('removing device %s' % name) del self.proxies[name] + config = pickleName(name) + if os.path.exists(config): + os.unlink(config) # we could delete the RRD files, too ips = Set() @@ -263,7 +313,7 @@ log.warning("Warning: device %s has a duplicate address %s", name, proxy.ip) ips.add(ips) - self.log.info('Configured %d devices' % len(deviceList)) + self.log.info('Configured %d devices' % len(deviceNames)) def updateAgentProxy(self, @@ -282,6 +332,7 @@ p.oidMap = {} p.snmpStatus = SnmpStatus(0) p.singleOidMode = False + p.lastChange = 0 else: p.ip = ip p.port = port @@ -301,7 +352,9 @@ def updateDeviceConfig(self, snmpTargets): 'Save the device configuration and create an SNMP proxy to talk to it' - (deviceName, hostPort, snmpConfig), oidData, maxOIDs = snmpTargets + last, identity, oidData, maxOIDs = snmpTargets + deviceName, hostPort, snmpConfig = identity + if not oidData: return (ip, port)= hostPort (community, version, timeout, tries) = snmpConfig @@ -313,9 +366,19 @@ p = self.updateAgentProxy(deviceName, ip, port, str(community), version, timeout, tries, maxOIDs) + if p.lastChange < last: + p.lastChange = last + try: + makeDirs(performancePath('Devices/%s' % deviceName)) + fp = open(pickleName(deviceName), 'wb') + cPickle.dump(snmpTargets, fp) + fp.close() + except IOError, ex: + log.exception("Unable to save local config for %s" % deviceName) + for name, oid, path, dsType, createCmd, minmax, thresholds in oidData: createCmd = createCmd.strip() - oid = '.'+oid.lstrip('.') + oid = '.' + str(oid.lstrip('.')) d = p.oidMap.setdefault(oid, OidData()) d.update(name, path, dsType, createCmd, minmax, thresholds) self.proxies[deviceName] = p @@ -385,8 +448,13 @@ n = 1 def getLater(oids): return proxy.get(oids, proxy.timeout, proxy.tries) + proxy.open() chain = Chain(getLater, iter(chunk(sorted(proxy.oidMap.keys()), n))) d = chain.run() + def closer(arg, proxy): + proxy.close() + return arg + d.addCallback(closer, proxy) d.addCallback(self.storeValues, deviceName) self.snmpOidsRequested += len(proxy.oidMap) return d |
From: <sv...@ze...> - 2007-03-06 03:19:06
|
Author: ecn Date: 2007-03-05 21:19:07 -0600 (Mon, 05 Mar 2007) New Revision: 4189 Modified: trunk/Products/ZenRRD/RRDUtil.py Log: * verbose debugging: log each datapoint going to a file Modified: trunk/Products/ZenRRD/RRDUtil.py =================================================================== --- trunk/Products/ZenRRD/RRDUtil.py 2007-03-06 03:18:30 UTC (rev 4188) +++ trunk/Products/ZenRRD/RRDUtil.py 2007-03-06 03:19:07 UTC (rev 4189) @@ -41,6 +41,7 @@ value = long(value) try: rrdtool.update(filename, 'N:%s' % value) + log.debug('%s: %r', filename, value) except rrdtool.error, err: # may get update errors when updating too quickly log.error('rrd error %s %s', err, path) |
From: <sv...@ze...> - 2007-03-06 03:18:37
|
Author: ecn Date: 2007-03-05 21:18:30 -0600 (Mon, 05 Mar 2007) New Revision: 4188 Modified: trunk/Products/ZenRRD/RRDDaemon.py Log: * prevent an error during shutdown that events member is unset Modified: trunk/Products/ZenRRD/RRDDaemon.py =================================================================== --- trunk/Products/ZenRRD/RRDDaemon.py 2007-03-06 01:20:42 UTC (rev 4187) +++ trunk/Products/ZenRRD/RRDDaemon.py 2007-03-06 03:18:30 UTC (rev 4188) @@ -151,6 +151,7 @@ shutdown = False def __init__(self, name): + self.events = [] Base.__init__(self) self.agent = name for ev in self.startevt, self.stopevt, self.heartbeatevt: @@ -165,7 +166,6 @@ self.log.debug("Not directly connected (%s) using Zope access.", ex) self.model = self.buildProxy(self.options.zopeurl) self.zem = self.buildProxy(self.options.zem) - self.events = [] def buildProxy(self, url): "create AuthProxy objects with our config and the given url" |
From: <sv...@ze...> - 2007-03-06 01:20:44
|
Author: ahajda Date: 2007-03-05 19:20:42 -0600 (Mon, 05 Mar 2007) New Revision: 4187 Modified: trunk/wmi/README trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc trunk/wmi/Samba/source/wmi/pywmi.i trunk/wmi/Samba/source/wmi/wmicore.c trunk/wmi/pycom/pywintypes.py trunk/wmi/pycom/win32com/client.py Log: All errors are reported via com_error exception. com_error messages have simple text descritpion. Added error constants to pywintypes. Updated README with compile steps. Modified: trunk/wmi/README =================================================================== --- trunk/wmi/README 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/README 2007-03-06 01:20:42 UTC (rev 4187) @@ -10,15 +10,16 @@ The same as for Samba (gcc ???, autoconf ???). SWIG >= 1.3 (I am using version 1.3.25). +Python >= 2.4. COMPILATION For details follow Samba documentation from Samba/howto.txt. -Simple steps: +Simple steps(change python path if necessary): $ cd Samba/source $ ./autogen.sh -$ ./configure +$ CFLAGS="-I/usr/include/python2.4" ./configure $ make proto bin/wmic bin/wmis wmi/_pywmi.so INSTALLATION Modified: trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc =================================================================== --- trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc 2007-03-06 01:20:42 UTC (rev 4187) @@ -23,6 +23,157 @@ pointer_default(unique) ] interface IWbemServices : IUnknown { + typedef [v1_enum] enum + { + WBEM_NO_ERROR = 0, + WBEM_S_NO_ERROR = 0, + WBEM_S_SAME = 0, + WBEM_S_FALSE = 1, + WBEM_S_ALREADY_EXISTS = 0x40001, + WBEM_S_RESET_TO_DEFAULT = 0x40002, + WBEM_S_DIFFERENT = 0x40003, + WBEM_S_TIMEDOUT = 0x40004, + WBEM_S_NO_MORE_DATA = 0x40005, + WBEM_S_OPERATION_CANCELLED = 0x40006, + WBEM_S_PENDING = 0x40007, + WBEM_S_DUPLICATE_OBJECTS = 0x40008, + WBEM_S_ACCESS_DENIED = 0x40009, + WBEM_S_PARTIAL_RESULTS = 0x40010, + WBEM_S_NO_POSTHOOK = 0x40011, + WBEM_S_POSTHOOK_WITH_BOTH = 0x40012, + WBEM_S_POSTHOOK_WITH_NEW = 0x40013, + WBEM_S_POSTHOOK_WITH_STATUS = 0x40014, + WBEM_S_POSTHOOK_WITH_OLD = 0x40015, + WBEM_S_REDO_PREHOOK_WITH_ORIGINAL_OBJECT = 0x40016, + WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017, + WBEM_E_FAILED = 0x80041001, + WBEM_E_NOT_FOUND = 0x80041002, + WBEM_E_ACCESS_DENIED = 0x80041003, + WBEM_E_PROVIDER_FAILURE = 0x80041004, + WBEM_E_TYPE_MISMATCH = 0x80041005, + WBEM_E_OUT_OF_MEMORY = 0x80041006, + WBEM_E_INVALID_CONTEXT = 0x80041007, + WBEM_E_INVALID_PARAMETER = 0x80041008, + WBEM_E_NOT_AVAILABLE = 0x80041009, + WBEM_E_CRITICAL_ERROR = 0x8004100A, + WBEM_E_INVALID_STREAM = 0x8004100B, + WBEM_E_NOT_SUPPORTED = 0x8004100C, + WBEM_E_INVALID_SUPERCLASS = 0x8004100D, + WBEM_E_INVALID_NAMESPACE = 0x8004100E, + WBEM_E_INVALID_OBJECT = 0x8004100F, + WBEM_E_INVALID_CLASS = 0x80041010, + WBEM_E_PROVIDER_NOT_FOUND = 0x80041011, + WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012, + WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013, + WBEM_E_INITIALIZATION_FAILURE = 0x80041014, + WBEM_E_TRANSPORT_FAILURE = 0x80041015, + WBEM_E_INVALID_OPERATION = 0x80041016, + WBEM_E_INVALID_QUERY = 0x80041017, + WBEM_E_INVALID_QUERY_TYPE = 0x80041018, + WBEM_E_ALREADY_EXISTS = 0x80041019, + WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101A, + WBEM_E_PROPAGATED_QUALIFIER = 0x8004101B, + WBEM_E_PROPAGATED_PROPERTY = 0x8004101C, + WBEM_E_UNEXPECTED = 0x8004101D, + WBEM_E_ILLEGAL_OPERATION = 0x8004101E, + WBEM_E_CANNOT_BE_KEY = 0x8004101F, + WBEM_E_INCOMPLETE_CLASS = 0x80041020, + WBEM_E_INVALID_SYNTAX = 0x80041021, + WBEM_E_NONDECORATED_OBJECT = 0x80041022, + WBEM_E_READ_ONLY = 0x80041023, + WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024, + WBEM_E_CLASS_HAS_CHILDREN = 0x80041025, + WBEM_E_CLASS_HAS_INSTANCES = 0x80041026, + WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027, + WBEM_E_ILLEGAL_NULL = 0x80041028, + WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029, + WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102A, + WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102B, + WBEM_E_CANNOT_BE_SINGLETON = 0x8004102C, + WBEM_E_INVALID_CIM_TYPE = 0x8004102D, + WBEM_E_INVALID_METHOD = 0x8004102E, + WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102F, + WBEM_E_SYSTEM_PROPERTY = 0x80041030, + WBEM_E_INVALID_PROPERTY = 0x80041031, + WBEM_E_CALL_CANCELLED = 0x80041032, + WBEM_E_SHUTTING_DOWN = 0x80041033, + WBEM_E_PROPAGATED_METHOD = 0x80041034, + WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035, + WBEM_E_MISSING_PARAMETER_ID = 0x80041036, + WBEM_E_INVALID_PARAMETER_ID = 0x80041037, + WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038, + WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039, + WBEM_E_INVALID_OBJECT_PATH = 0x8004103A, + WBEM_E_OUT_OF_DISK_SPACE = 0x8004103B, + WBEM_E_BUFFER_TOO_SMALL = 0x8004103C, + WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103D, + WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103E, + WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103F, + WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040, + WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041, + WBEM_E_INVALID_QUALIFIER = 0x80041042, + WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043, + WBEM_E_TOO_MUCH_DATA = 0x80041044, + WBEM_E_SERVER_TOO_BUSY = 0x80041045, + WBEM_E_INVALID_FLAVOR = 0x80041046, + WBEM_E_CIRCULAR_REFERENCE = 0x80041047, + WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048, + WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049, + WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050, + WBEM_E_TOO_MANY_PROPERTIES = 0x80041051, + WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052, + WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053, + WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054, + WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055, + WBEM_E_METHOD_DISABLED = 0x80041056, + WBEM_E_REFRESHER_BUSY = 0x80041057, + WBEM_E_UNPARSABLE_QUERY = 0x80041058, + WBEM_E_NOT_EVENT_CLASS = 0x80041059, + WBEM_E_MISSING_GROUP_WITHIN = 0x8004105A, + WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105B, + WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105C, + WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105D, + WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105F, + WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060, + WBEM_E_QUEUE_OVERFLOW = 0x80041061, + WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062, + WBEM_E_INVALID_OPERATOR = 0x80041063, + WBEM_E_LOCAL_CREDENTIALS = 0x80041064, + WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065, + WBEM_E_AMENDED_OBJECT = 0x80041066, + WBEM_E_CLIENT_TOO_SLOW = 0x80041067, + WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068, + WBEM_E_TIMED_OUT = 0x80041069, + WBEM_E_INVALID_ASSOCIATION = 0x8004106A, + WBEM_E_AMBIGUOUS_OPERATION = 0x8004106B, + WBEM_E_QUOTA_VIOLATION = 0x8004106C, + WBEM_E_RESERVED_001 = 0x8004106D, + WBEM_E_RESERVED_002 = 0x8004106E, + WBEM_E_UNSUPPORTED_LOCALE = 0x8004106F, + WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070, + WBEM_E_CONNECTION_FAILED = 0x80041071, + WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072, + WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073, + WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074, + WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075, + WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076, + WBEM_E_RERUN_COMMAND = 0x80041077, + WBEM_E_DATABASE_VER_MISMATCH = 0x80041078, + WBEM_E_VETO_DELETE = 0x80041079, + WBEM_E_VETO_PUT = 0x8004107A, + WBEM_E_INVALID_LOCALE = 0x80041080, + WBEM_E_PROVIDER_SUSPENDED = 0x80041081, + WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082, + WBEM_E_NO_SCHEMA = 0x80041083, + WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084, + WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085, + WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086, + WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087, + WBEM_E_PROVIDER_TIMED_OUT = 0x80041088, + WBEM_E_NO_KEY = 0x80041089, + WBEM_E_PROVIDER_DISABLED = 0x8004108a + } WBEMSTATUS; + typedef [public,noprint] enum { WBEM_FLAG_RETURN_IMMEDIATELY = 0x10, Modified: trunk/wmi/Samba/source/wmi/pywmi.i =================================================================== --- trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-06 01:20:42 UTC (rev 4187) @@ -33,19 +33,21 @@ #include "libcli/util/nt_status.h" #include "lib/com/dcom/dcom.h" #include "librpc/gen_ndr/com_dcom.h" +#include "wmi/proto.h" WERROR WBEM_ConnectServer(struct com_context *ctx, const char *server, const char *nspace, const char *user, const char *password, const char *locale, uint32_t flags, const char *authority, struct IWbemContext* wbem_ctx, struct IWbemServices** services); WERROR IEnumWbemClassObject_SmartNext(struct IEnumWbemClassObject *d, TALLOC_CTX *mem_ctx, int32_t lTimeout,uint32_t uCount, struct WbemClassObject **apObjects, uint32_t *puReturned); -void push_object(PyObject **stack, PyObject *o); + static PyObject *PyErr_SetFromWERROR(WERROR w); static PyObject *PyObject_FromCVAR(uint32_t cimtype, union CIMVAR *cvar); static PyObject *PySWbemObject_FromWbemClassObject(struct WbemClassObject *wco); static struct com_context *com_ctx; -static PyObject *SambaError; +static PyObject *ComError; static PyObject *mod_win32_client; +static PyObject *mod_pywintypes; %} %apply uint32_t { int32_t }; @@ -57,9 +59,9 @@ { PyObject *v; - v = Py_BuildValue("(is)", W_ERROR_V(w), win_errstr(w)); + v = Py_BuildValue("(is)", W_ERROR_V(w), wmi_errstr(w)); if (v != NULL) { - PyErr_SetObject(SambaError, v); + PyErr_SetObject(ComError, v); Py_DECREF(v); } return NULL; @@ -297,8 +299,10 @@ %init %{ - SambaError = PyErr_NewException("_pywmi.SambaError", PyExc_OSError, NULL); +// SambaError = PyErr_NewException("_pywmi.SambaError", PyExc_OSError, NULL); mod_win32_client = PyImport_ImportModule("win32com.client"); + mod_pywintypes = PyImport_ImportModule("pywintypes"); + ComError = PyObject_GetAttrString(mod_pywintypes, "com_error"); DEBUGLEVEL = 0; Modified: trunk/wmi/Samba/source/wmi/wmicore.c =================================================================== --- trunk/wmi/Samba/source/wmi/wmicore.c 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/Samba/source/wmi/wmicore.c 2007-03-06 01:20:42 UTC (rev 4187) @@ -62,3 +62,173 @@ return result; } +struct werror_code_struct { + const char *dos_errstr; + WERROR werror; +}; + +static const struct werror_code_struct wmi_errs[] = +{ + { "WBEM_NO_ERROR", W_ERROR(WBEM_NO_ERROR) }, + { "WBEM_S_NO_ERROR", W_ERROR(WBEM_S_NO_ERROR) }, + { "WBEM_S_SAME", W_ERROR(WBEM_S_SAME) }, + { "WBEM_S_FALSE", W_ERROR(WBEM_S_FALSE) }, + { "WBEM_S_ALREADY_EXISTS", W_ERROR(WBEM_S_ALREADY_EXISTS) }, + { "WBEM_S_RESET_TO_DEFAULT", W_ERROR(WBEM_S_RESET_TO_DEFAULT) }, + { "WBEM_S_DIFFERENT", W_ERROR(WBEM_S_DIFFERENT) }, + { "WBEM_S_TIMEDOUT", W_ERROR(WBEM_S_TIMEDOUT) }, + { "WBEM_S_NO_MORE_DATA", W_ERROR(WBEM_S_NO_MORE_DATA) }, + { "WBEM_S_OPERATION_CANCELLED", W_ERROR(WBEM_S_OPERATION_CANCELLED) }, + { "WBEM_S_PENDING", W_ERROR(WBEM_S_PENDING) }, + { "WBEM_S_DUPLICATE_OBJECTS", W_ERROR(WBEM_S_DUPLICATE_OBJECTS) }, + { "WBEM_S_ACCESS_DENIED", W_ERROR(WBEM_S_ACCESS_DENIED) }, + { "WBEM_S_PARTIAL_RESULTS", W_ERROR(WBEM_S_PARTIAL_RESULTS) }, + { "WBEM_S_NO_POSTHOOK", W_ERROR(WBEM_S_NO_POSTHOOK) }, + { "WBEM_S_POSTHOOK_WITH_BOTH", W_ERROR(WBEM_S_POSTHOOK_WITH_BOTH) }, + { "WBEM_S_POSTHOOK_WITH_NEW", W_ERROR(WBEM_S_POSTHOOK_WITH_NEW) }, + { "WBEM_S_POSTHOOK_WITH_STATUS", W_ERROR(WBEM_S_POSTHOOK_WITH_STATUS) }, + { "WBEM_S_POSTHOOK_WITH_OLD", W_ERROR(WBEM_S_POSTHOOK_WITH_OLD) }, + { "WBEM_S_REDO_PREHOOK_WITH_ORIGINAL_OBJECT", W_ERROR(WBEM_S_REDO_PREHOOK_WITH_ORIGINAL_OBJECT) }, + { "WBEM_S_SOURCE_NOT_AVAILABLE", W_ERROR(WBEM_S_SOURCE_NOT_AVAILABLE) }, + { "WBEM_E_FAILED", W_ERROR(WBEM_E_FAILED) }, + { "WBEM_E_NOT_FOUND", W_ERROR(WBEM_E_NOT_FOUND) }, + { "WBEM_E_ACCESS_DENIED", W_ERROR(WBEM_E_ACCESS_DENIED) }, + { "WBEM_E_PROVIDER_FAILURE", W_ERROR(WBEM_E_PROVIDER_FAILURE) }, + { "WBEM_E_TYPE_MISMATCH", W_ERROR(WBEM_E_TYPE_MISMATCH) }, + { "WBEM_E_OUT_OF_MEMORY", W_ERROR(WBEM_E_OUT_OF_MEMORY) }, + { "WBEM_E_INVALID_CONTEXT", W_ERROR(WBEM_E_INVALID_CONTEXT) }, + { "WBEM_E_INVALID_PARAMETER", W_ERROR(WBEM_E_INVALID_PARAMETER) }, + { "WBEM_E_NOT_AVAILABLE", W_ERROR(WBEM_E_NOT_AVAILABLE) }, + { "WBEM_E_CRITICAL_ERROR", W_ERROR(WBEM_E_CRITICAL_ERROR) }, + { "WBEM_E_INVALID_STREAM", W_ERROR(WBEM_E_INVALID_STREAM) }, + { "WBEM_E_NOT_SUPPORTED", W_ERROR(WBEM_E_NOT_SUPPORTED) }, + { "WBEM_E_INVALID_SUPERCLASS", W_ERROR(WBEM_E_INVALID_SUPERCLASS) }, + { "WBEM_E_INVALID_NAMESPACE", W_ERROR(WBEM_E_INVALID_NAMESPACE) }, + { "WBEM_E_INVALID_OBJECT", W_ERROR(WBEM_E_INVALID_OBJECT) }, + { "WBEM_E_INVALID_CLASS", W_ERROR(WBEM_E_INVALID_CLASS) }, + { "WBEM_E_PROVIDER_NOT_FOUND", W_ERROR(WBEM_E_PROVIDER_NOT_FOUND) }, + { "WBEM_E_INVALID_PROVIDER_REGISTRATION", W_ERROR(WBEM_E_INVALID_PROVIDER_REGISTRATION) }, + { "WBEM_E_PROVIDER_LOAD_FAILURE", W_ERROR(WBEM_E_PROVIDER_LOAD_FAILURE) }, + { "WBEM_E_INITIALIZATION_FAILURE", W_ERROR(WBEM_E_INITIALIZATION_FAILURE) }, + { "WBEM_E_TRANSPORT_FAILURE", W_ERROR(WBEM_E_TRANSPORT_FAILURE) }, + { "WBEM_E_INVALID_OPERATION", W_ERROR(WBEM_E_INVALID_OPERATION) }, + { "WBEM_E_INVALID_QUERY", W_ERROR(WBEM_E_INVALID_QUERY) }, + { "WBEM_E_INVALID_QUERY_TYPE", W_ERROR(WBEM_E_INVALID_QUERY_TYPE) }, + { "WBEM_E_ALREADY_EXISTS", W_ERROR(WBEM_E_ALREADY_EXISTS) }, + { "WBEM_E_OVERRIDE_NOT_ALLOWED", W_ERROR(WBEM_E_OVERRIDE_NOT_ALLOWED) }, + { "WBEM_E_PROPAGATED_QUALIFIER", W_ERROR(WBEM_E_PROPAGATED_QUALIFIER) }, + { "WBEM_E_PROPAGATED_PROPERTY", W_ERROR(WBEM_E_PROPAGATED_PROPERTY) }, + { "WBEM_E_UNEXPECTED", W_ERROR(WBEM_E_UNEXPECTED) }, + { "WBEM_E_ILLEGAL_OPERATION", W_ERROR(WBEM_E_ILLEGAL_OPERATION) }, + { "WBEM_E_CANNOT_BE_KEY", W_ERROR(WBEM_E_CANNOT_BE_KEY) }, + { "WBEM_E_INCOMPLETE_CLASS", W_ERROR(WBEM_E_INCOMPLETE_CLASS) }, + { "WBEM_E_INVALID_SYNTAX", W_ERROR(WBEM_E_INVALID_SYNTAX) }, + { "WBEM_E_NONDECORATED_OBJECT", W_ERROR(WBEM_E_NONDECORATED_OBJECT) }, + { "WBEM_E_READ_ONLY", W_ERROR(WBEM_E_READ_ONLY) }, + { "WBEM_E_PROVIDER_NOT_CAPABLE", W_ERROR(WBEM_E_PROVIDER_NOT_CAPABLE) }, + { "WBEM_E_CLASS_HAS_CHILDREN", W_ERROR(WBEM_E_CLASS_HAS_CHILDREN) }, + { "WBEM_E_CLASS_HAS_INSTANCES", W_ERROR(WBEM_E_CLASS_HAS_INSTANCES) }, + { "WBEM_E_QUERY_NOT_IMPLEMENTED", W_ERROR(WBEM_E_QUERY_NOT_IMPLEMENTED) }, + { "WBEM_E_ILLEGAL_NULL", W_ERROR(WBEM_E_ILLEGAL_NULL) }, + { "WBEM_E_INVALID_QUALIFIER_TYPE", W_ERROR(WBEM_E_INVALID_QUALIFIER_TYPE) }, + { "WBEM_E_INVALID_PROPERTY_TYPE", W_ERROR(WBEM_E_INVALID_PROPERTY_TYPE) }, + { "WBEM_E_VALUE_OUT_OF_RANGE", W_ERROR(WBEM_E_VALUE_OUT_OF_RANGE) }, + { "WBEM_E_CANNOT_BE_SINGLETON", W_ERROR(WBEM_E_CANNOT_BE_SINGLETON) }, + { "WBEM_E_INVALID_CIM_TYPE", W_ERROR(WBEM_E_INVALID_CIM_TYPE) }, + { "WBEM_E_INVALID_METHOD", W_ERROR(WBEM_E_INVALID_METHOD) }, + { "WBEM_E_INVALID_METHOD_PARAMETERS", W_ERROR(WBEM_E_INVALID_METHOD_PARAMETERS) }, + { "WBEM_E_SYSTEM_PROPERTY", W_ERROR(WBEM_E_SYSTEM_PROPERTY) }, + { "WBEM_E_INVALID_PROPERTY", W_ERROR(WBEM_E_INVALID_PROPERTY) }, + { "WBEM_E_CALL_CANCELLED", W_ERROR(WBEM_E_CALL_CANCELLED) }, + { "WBEM_E_SHUTTING_DOWN", W_ERROR(WBEM_E_SHUTTING_DOWN) }, + { "WBEM_E_PROPAGATED_METHOD", W_ERROR(WBEM_E_PROPAGATED_METHOD) }, + { "WBEM_E_UNSUPPORTED_PARAMETER", W_ERROR(WBEM_E_UNSUPPORTED_PARAMETER) }, + { "WBEM_E_MISSING_PARAMETER_ID", W_ERROR(WBEM_E_MISSING_PARAMETER_ID) }, + { "WBEM_E_INVALID_PARAMETER_ID", W_ERROR(WBEM_E_INVALID_PARAMETER_ID) }, + { "WBEM_E_NONCONSECUTIVE_PARAMETER_IDS", W_ERROR(WBEM_E_NONCONSECUTIVE_PARAMETER_IDS) }, + { "WBEM_E_PARAMETER_ID_ON_RETVAL", W_ERROR(WBEM_E_PARAMETER_ID_ON_RETVAL) }, + { "WBEM_E_INVALID_OBJECT_PATH", W_ERROR(WBEM_E_INVALID_OBJECT_PATH) }, + { "WBEM_E_OUT_OF_DISK_SPACE", W_ERROR(WBEM_E_OUT_OF_DISK_SPACE) }, + { "WBEM_E_BUFFER_TOO_SMALL", W_ERROR(WBEM_E_BUFFER_TOO_SMALL) }, + { "WBEM_E_UNSUPPORTED_PUT_EXTENSION", W_ERROR(WBEM_E_UNSUPPORTED_PUT_EXTENSION) }, + { "WBEM_E_UNKNOWN_OBJECT_TYPE", W_ERROR(WBEM_E_UNKNOWN_OBJECT_TYPE) }, + { "WBEM_E_UNKNOWN_PACKET_TYPE", W_ERROR(WBEM_E_UNKNOWN_PACKET_TYPE) }, + { "WBEM_E_MARSHAL_VERSION_MISMATCH", W_ERROR(WBEM_E_MARSHAL_VERSION_MISMATCH) }, + { "WBEM_E_MARSHAL_INVALID_SIGNATURE", W_ERROR(WBEM_E_MARSHAL_INVALID_SIGNATURE) }, + { "WBEM_E_INVALID_QUALIFIER", W_ERROR(WBEM_E_INVALID_QUALIFIER) }, + { "WBEM_E_INVALID_DUPLICATE_PARAMETER", W_ERROR(WBEM_E_INVALID_DUPLICATE_PARAMETER) }, + { "WBEM_E_TOO_MUCH_DATA", W_ERROR(WBEM_E_TOO_MUCH_DATA) }, + { "WBEM_E_SERVER_TOO_BUSY", W_ERROR(WBEM_E_SERVER_TOO_BUSY) }, + { "WBEM_E_INVALID_FLAVOR", W_ERROR(WBEM_E_INVALID_FLAVOR) }, + { "WBEM_E_CIRCULAR_REFERENCE", W_ERROR(WBEM_E_CIRCULAR_REFERENCE) }, + { "WBEM_E_UNSUPPORTED_CLASS_UPDATE", W_ERROR(WBEM_E_UNSUPPORTED_CLASS_UPDATE) }, + { "WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE", W_ERROR(WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE) }, + { "WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE", W_ERROR(WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE) }, + { "WBEM_E_TOO_MANY_PROPERTIES", W_ERROR(WBEM_E_TOO_MANY_PROPERTIES) }, + { "WBEM_E_UPDATE_TYPE_MISMATCH", W_ERROR(WBEM_E_UPDATE_TYPE_MISMATCH) }, + { "WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED", W_ERROR(WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED) }, + { "WBEM_E_UPDATE_PROPAGATED_METHOD", W_ERROR(WBEM_E_UPDATE_PROPAGATED_METHOD) }, + { "WBEM_E_METHOD_NOT_IMPLEMENTED", W_ERROR(WBEM_E_METHOD_NOT_IMPLEMENTED) }, + { "WBEM_E_METHOD_DISABLED", W_ERROR(WBEM_E_METHOD_DISABLED) }, + { "WBEM_E_REFRESHER_BUSY", W_ERROR(WBEM_E_REFRESHER_BUSY) }, + { "WBEM_E_UNPARSABLE_QUERY", W_ERROR(WBEM_E_UNPARSABLE_QUERY) }, + { "WBEM_E_NOT_EVENT_CLASS", W_ERROR(WBEM_E_NOT_EVENT_CLASS) }, + { "WBEM_E_MISSING_GROUP_WITHIN", W_ERROR(WBEM_E_MISSING_GROUP_WITHIN) }, + { "WBEM_E_MISSING_AGGREGATION_LIST", W_ERROR(WBEM_E_MISSING_AGGREGATION_LIST) }, + { "WBEM_E_PROPERTY_NOT_AN_OBJECT", W_ERROR(WBEM_E_PROPERTY_NOT_AN_OBJECT) }, + { "WBEM_E_AGGREGATING_BY_OBJECT", W_ERROR(WBEM_E_AGGREGATING_BY_OBJECT) }, + { "WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY", W_ERROR(WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY) }, + { "WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING", W_ERROR(WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING) }, + { "WBEM_E_QUEUE_OVERFLOW", W_ERROR(WBEM_E_QUEUE_OVERFLOW) }, + { "WBEM_E_PRIVILEGE_NOT_HELD", W_ERROR(WBEM_E_PRIVILEGE_NOT_HELD) }, + { "WBEM_E_INVALID_OPERATOR", W_ERROR(WBEM_E_INVALID_OPERATOR) }, + { "WBEM_E_LOCAL_CREDENTIALS", W_ERROR(WBEM_E_LOCAL_CREDENTIALS) }, + { "WBEM_E_CANNOT_BE_ABSTRACT", W_ERROR(WBEM_E_CANNOT_BE_ABSTRACT) }, + { "WBEM_E_AMENDED_OBJECT", W_ERROR(WBEM_E_AMENDED_OBJECT) }, + { "WBEM_E_CLIENT_TOO_SLOW", W_ERROR(WBEM_E_CLIENT_TOO_SLOW) }, + { "WBEM_E_NULL_SECURITY_DESCRIPTOR", W_ERROR(WBEM_E_NULL_SECURITY_DESCRIPTOR) }, + { "WBEM_E_TIMED_OUT", W_ERROR(WBEM_E_TIMED_OUT) }, + { "WBEM_E_INVALID_ASSOCIATION", W_ERROR(WBEM_E_INVALID_ASSOCIATION) }, + { "WBEM_E_AMBIGUOUS_OPERATION", W_ERROR(WBEM_E_AMBIGUOUS_OPERATION) }, + { "WBEM_E_QUOTA_VIOLATION", W_ERROR(WBEM_E_QUOTA_VIOLATION) }, + { "WBEM_E_RESERVED_001", W_ERROR(WBEM_E_RESERVED_001) }, + { "WBEM_E_RESERVED_002", W_ERROR(WBEM_E_RESERVED_002) }, + { "WBEM_E_UNSUPPORTED_LOCALE", W_ERROR(WBEM_E_UNSUPPORTED_LOCALE) }, + { "WBEM_E_HANDLE_OUT_OF_DATE", W_ERROR(WBEM_E_HANDLE_OUT_OF_DATE) }, + { "WBEM_E_CONNECTION_FAILED", W_ERROR(WBEM_E_CONNECTION_FAILED) }, + { "WBEM_E_INVALID_HANDLE_REQUEST", W_ERROR(WBEM_E_INVALID_HANDLE_REQUEST) }, + { "WBEM_E_PROPERTY_NAME_TOO_WIDE", W_ERROR(WBEM_E_PROPERTY_NAME_TOO_WIDE) }, + { "WBEM_E_CLASS_NAME_TOO_WIDE", W_ERROR(WBEM_E_CLASS_NAME_TOO_WIDE) }, + { "WBEM_E_METHOD_NAME_TOO_WIDE", W_ERROR(WBEM_E_METHOD_NAME_TOO_WIDE) }, + { "WBEM_E_QUALIFIER_NAME_TOO_WIDE", W_ERROR(WBEM_E_QUALIFIER_NAME_TOO_WIDE) }, + { "WBEM_E_RERUN_COMMAND", W_ERROR(WBEM_E_RERUN_COMMAND) }, + { "WBEM_E_DATABASE_VER_MISMATCH", W_ERROR(WBEM_E_DATABASE_VER_MISMATCH) }, + { "WBEM_E_VETO_DELETE", W_ERROR(WBEM_E_VETO_DELETE) }, + { "WBEM_E_VETO_PUT", W_ERROR(WBEM_E_VETO_PUT) }, + { "WBEM_E_INVALID_LOCALE", W_ERROR(WBEM_E_INVALID_LOCALE) }, + { "WBEM_E_PROVIDER_SUSPENDED", W_ERROR(WBEM_E_PROVIDER_SUSPENDED) }, + { "WBEM_E_SYNCHRONIZATION_REQUIRED", W_ERROR(WBEM_E_SYNCHRONIZATION_REQUIRED) }, + { "WBEM_E_NO_SCHEMA", W_ERROR(WBEM_E_NO_SCHEMA) }, + { "WBEM_E_PROVIDER_ALREADY_REGISTERED", W_ERROR(WBEM_E_PROVIDER_ALREADY_REGISTERED) }, + { "WBEM_E_PROVIDER_NOT_REGISTERED", W_ERROR(WBEM_E_PROVIDER_NOT_REGISTERED) }, + { "WBEM_E_FATAL_TRANSPORT_ERROR", W_ERROR(WBEM_E_FATAL_TRANSPORT_ERROR) }, + { "WBEM_E_ENCRYPTED_CONNECTION_REQUIRED", W_ERROR(WBEM_E_ENCRYPTED_CONNECTION_REQUIRED) }, + { "WBEM_E_PROVIDER_TIMED_OUT", W_ERROR(WBEM_E_PROVIDER_TIMED_OUT) }, + { "WBEM_E_NO_KEY", W_ERROR(WBEM_E_NO_KEY) }, + { "WBEM_E_PROVIDER_DISABLED", W_ERROR(WBEM_E_PROVIDER_DISABLED) }, + { NULL, W_ERROR(0) } +}; + +const char *wmi_errstr(WERROR werror) +{ + int idx = 0; + + while (wmi_errs[idx].dos_errstr != NULL) { + if (W_ERROR_V(wmi_errs[idx].werror) == + W_ERROR_V(werror)) + return wmi_errs[idx].dos_errstr; + idx++; + } + + return win_errstr(werror); +} Modified: trunk/wmi/pycom/pywintypes.py =================================================================== --- trunk/wmi/pycom/pywintypes.py 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/pycom/pywintypes.py 2007-03-06 01:20:42 UTC (rev 4187) @@ -1,9 +1,145 @@ +wbemNoErr = 0 +wbemErrFailed = -2147217407 +wbemErrNotFound = -2147217406 +wbemErrAccessDenied = -2147217405 +wbemErrProviderFailure = -2147217404 +wbemErrTypeMismatch = -2147217403 +wbemErrOutOfMemory = -2147217402 +wbemErrInvalidContext = -2147217401 +wbemErrInvalidParameter = -2147217400 +wbemErrNotAvailable = -2147217399 +wbemErrCriticalError = -2147217398 +wbemErrInvalidStream = -2147217397 +wbemErrNotSupported = -2147217396 +wbemErrInvalidSuperclass = -2147217395 +wbemErrInvalidNamespace = -2147217394 +wbemErrInvalidObject = -2147217393 +wbemErrInvalidClass = -2147217392 +wbemErrProviderNotFound = -2147217391 +wbemErrInvalidProviderRegistration = -2147217390 +wbemErrProviderLoadFailure = -2147217389 +wbemErrInitializationFailure = -2147217388 +wbemErrTransportFailure = -2147217387 +wbemErrInvalidOperation = -2147217386 +wbemErrInvalidQuery = -2147217385 +wbemErrInvalidQueryType = -2147217384 +wbemErrAlreadyExists = -2147217383 +wbemErrOverrideNotAllowed = -2147217382 +wbemErrPropagatedQualifier = -2147217381 +wbemErrPropagatedProperty = -2147217380 +wbemErrUnexpected = -2147217379 +wbemErrIllegalOperation = -2147217378 +wbemErrCannotBeKey = -2147217377 +wbemErrIncompleteClass = -2147217376 +wbemErrInvalidSyntax = -2147217375 +wbemErrNondecoratedObject = -2147217374 +wbemErrReadOnly = -2147217373 +wbemErrProviderNotCapable = -2147217372 +wbemErrClassHasChildren = -2147217371 +wbemErrClassHasInstances = -2147217370 +wbemErrQueryNotImplemented = -2147217369 +wbemErrIllegalNull = -2147217368 +wbemErrInvalidQualifierType = -2147217367 +wbemErrInvalidPropertyType = -2147217366 +wbemErrValueOutOfRange = -2147217365 +wbemErrCannotBeSingleton = -2147217364 +wbemErrInvalidCimType = -2147217363 +wbemErrInvalidMethod = -2147217362 +wbemErrInvalidMethodParameters = -0 +wbemErrSystemProperty = -2147217360 +wbemErrInvalidProperty = -2147217359 +wbemErrCallCancelled = -2147217358 +wbemErrShuttingDown = -2147217357 +wbemErrPropagatedMethod = -2147217356 +wbemErrUnsupportedParameter = -2147217355 +wbemErrMissingParameter = -2147217354 +wbemErrInvalidParameterId = -2147217353 +wbemErrNonConsecutiveParameterIds = -2147217352 +wbemErrParameterIdOnRetval = -2147217351 +wbemErrInvalidObjectPath = -2147217350 +wbemErrOutOfDiskSpace = -2147217349 +wbemErrBufferTooSmall = -2147217348 +wbemErrUnsupportedPutExtension = -2147217347 +wbemErrUnknownObjectType = -2147217346 +wbemErrUnknownPacketType = -2147217345 +wbemErrMarshalVersionMismatch = -2147217344 +wbemErrMarshalInvalidSignature = -2147217343 +wbemErrInvalidQualifier = -2147217342 +wbemErrInvalidDuplicateParameter = -2147217341 +wbemErrTooMuchData = -2147217340 +wbemErrServerTooBusy = -2147217339 +wbemErrInvalidFlavor = -2147217338 +wbemErrCircularReference = -2147217337 +wbemErrUnsupportedClassUpdate = -2147217336 +wbemErrCannotChangeKeyInheritance = -2147217335 +wbemErrCannotChangeIndexInheritance = -2147217328 +wbemErrTooManyProperties = -2147217327 +wbemErrUpdateTypeMismatch = -2147217326 +wbemErrUpdateOverrideNotAllowed = -2147217325 +wbemErrUpdatePropagatedMethod = -2147217324 +wbemErrMethodNotImplemented = -2147217323 +wbemErrMethodDisabled = -2147217322 +wbemErrRefresherBusy = -2147217321 +wbemErrUnparsableQuery = -2147217320 +wbemErrNotEventClass = -2147217319 +wbemErrMissingGroupWithin = -2147217318 +wbemErrMissingAggregationList = -2147217317 +wbemErrPropertyNotAnObject = -2147217316 +wbemErrAggregatingByObject = -2147217315 +wbemErrUninterpretableProviderQuery = -2147217313 +wbemErrBackupRestoreWinmgmtRunning = -2147217312 +wbemErrQueueOverflow = -2147217311 +wbemErrPrivilegeNotHeld = -2147217310 +wbemErrInvalidOperator = -2147217309 +wbemErrLocalCredentials = -2147217308 +wbemErrCannotBeAbstract = -2147217307 +wbemErrAmendedObject = -2147217306 +wbemErrClientTooSlow = -2147217305 +wbemErrNullSecurityDescriptor = -2147217304 +wbemErrTimeout = -2147217303 +wbemErrInvalidAssociation = -2147217302 +wbemErrAmbiguousOperation = -2147217301 +wbemErrQuotaViolation = -2147217300 +wbemErrTransactionConflict = -2147217299 +wbemErrForcedRollback = -2147217298 +wbemErrUnsupportedLocale = -2147217297 +wbemErrHandleOutOfDate = -2147217296 +wbemErrConnectionFailed = -2147217295 +wbemErrInvalidHandleRequest = -2147217294 +wbemErrPropertyNameTooWide = -2147217293 +wbemErrClassNameTooWide = -2147217292 +wbemErrMethodNameTooWide = -2147217291 +wbemErrQualifierNameTooWide = -2147217290 +wbemErrRerunCommand = -2147217289 +wbemErrDatabaseVerMismatch = -2147217288 +wbemErrVetoPut = -2147217287 +wbemErrVetoDelete = -2147217286 +wbemErrInvalidLocale = -2147217280 +wbemErrProviderSuspended = -2147217279 +wbemErrSynchronizationRequired = -2147217278 +wbemErrNoSchema = -2147217277 +wbemErrProviderAlreadyRegistered = -2147217276 +wbemErrProviderNotRegistered = -2147217275 +wbemErrFatalTransportError = -2147217274 +wbemErrEncryptedConnectionRequired = -2147217273 +wbemErrRegistrationTooBroad = -2147213311 +wbemErrRegistrationTooPrecise = -2147213310 +wbemErrTimedout = -2147209215 +wbemErrResetToDefault = -4160732416 + +_werror_to_wbemErr = { + 0x40004: wbemErrTimedout +} + class com_error(Exception): - def __init__(self, code): + def __init__(self, code, txt = ""): + try: + code = _werror_to_wbemErr[code] + except: + pass wcode, source, descr, hfile, hcont, scode = code, "Src", "Desc", "Hfile", 0, code info = wcode, source, descr, hfile, hcont, scode - txt = "" param = None self.args = code, txt, info, param def __str__(self): - return repr(self.value) + return "com_error(%s): %s" % (self.args[0], self.args[1]) Modified: trunk/wmi/pycom/win32com/client.py =================================================================== --- trunk/wmi/pycom/win32com/client.py 2007-03-05 19:27:34 UTC (rev 4186) +++ trunk/wmi/pycom/win32com/client.py 2007-03-06 01:20:42 UTC (rev 4187) @@ -46,8 +46,8 @@ def next(self): try: o, = pywmi.IEnumWbemClassObject_SmartNext(self.enum, wbemTimeoutInfinite, 1) - except OSError, (errno, s): - if errno == 1: + except pywintypes.com_error, e: + if e[0] == 1: raise StopIteration raise return o @@ -58,11 +58,9 @@ def NextEvent(self, iTimeoutMs = wbemTimeoutInfinite): try: o, = pywmi.IEnumWbemClassObject_SmartNext(self.enum, iTimeoutMs, 1) - except OSError, (errno, s): - if errno == 1: + except pywintypes.com_error, e: + if e[0] == 1: raise StopIteration - if errno == 0x40004: - raise pywintypes.com_error(2147209215) raise return o |
From: <sv...@ze...> - 2007-03-05 19:27:39
|
Author: edahl Date: 2007-03-05 13:27:34 -0600 (Mon, 05 Mar 2007) New Revision: 4186 Modified: trunk/zenwin/WinServiceTest.py trunk/zenwin/etc/zenwin.cfg trunk/zenwin/zeneventlog.py trunk/zenwin/zenutils/StatusMonitor.py Log: * add wmi check to singe cycle run on zenwin programszenutils/StatusMonitor.py zeneventlog.py * fix zeneventlog to use checkwmi not underlying data structure Modified: trunk/zenwin/WinServiceTest.py =================================================================== --- trunk/zenwin/WinServiceTest.py 2007-03-05 18:03:59 UTC (rev 4185) +++ trunk/zenwin/WinServiceTest.py 2007-03-05 19:27:34 UTC (rev 4186) @@ -31,6 +31,7 @@ srec.svcs[name] = status + 1, severity msg = self.statmsg % (name, "down") evt = self.mkevt(srec.name, name, msg, severity) + log.info("svc down %s, %s", srec.name, name) elif status > 0: srec.svcs[name] = 0 , severity msg = self.statmsg % (name, "up") Modified: trunk/zenwin/etc/zenwin.cfg =================================================================== --- trunk/zenwin/etc/zenwin.cfg 2007-03-05 18:03:59 UTC (rev 4185) +++ trunk/zenwin/etc/zenwin.cfg 2007-03-05 19:27:34 UTC (rev 4186) @@ -1,4 +1,4 @@ winurl http://zenoss:8080/zport/dmd/Devices/Server/Windows -zopeusername zenoss +zopeusername admin zopepassword zenoss zem http://zenoss:8081/ Modified: trunk/zenwin/zeneventlog.py =================================================================== --- trunk/zenwin/zeneventlog.py 2007-03-05 18:03:59 UTC (rev 4185) +++ trunk/zenwin/zeneventlog.py 2007-03-05 19:27:34 UTC (rev 4186) @@ -57,8 +57,8 @@ polltime, devices = server.getDeviceWinInfo(0, True) for name,user,passwd,sev,url in devices: try: - if name in self.wmiprobs: - self.log.warn("skipping %s has bad wmi state", name) + if self.checkwmi(name): + self.log.info('wmi prob on %s skipping', name) continue if self.devices.has_key(name): continue self.devices[name] = self.getWatcher(name,user,passwd,sev) Modified: trunk/zenwin/zenutils/StatusMonitor.py =================================================================== --- trunk/zenwin/zenutils/StatusMonitor.py 2007-03-05 18:03:59 UTC (rev 4185) +++ trunk/zenwin/zenutils/StatusMonitor.py 2007-03-05 19:27:34 UTC (rev 4186) @@ -154,6 +154,7 @@ self.stop() break else: + self.wmiIssues() self.getConfig() startTime = time.time() self.processLoop() |
From: <sv...@ze...> - 2007-03-05 18:04:00
|
Author: ian Date: 2007-03-05 12:03:59 -0600 (Mon, 05 Mar 2007) New Revision: 4185 Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenModel/skins/zenmodel/zenoss.css trunk/Products/ZenUtils/js/zenui.js Log: * Finished the leftPane hiding and showing stuff. Breadcrumbs move too! Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-05 17:29:20 UTC (rev 4184) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-05 18:03:59 UTC (rev 4185) @@ -21,7 +21,6 @@ <div metal:use-macro="here/templates/macros/topPane"/> <div metal:use-macro="here/templates/macros/infoBar"/> <div id="paneToggle" onclick="toggleLeftPane();"> - </div> <style tal:condition="python:'Zenoss_Collapsed_Menu' in here.REQUEST.HTTP_COOKIE"> @@ -30,6 +29,9 @@ #paneToggle { background-image: url('paneToggle_bg_collapsed.gif'); } + #leftPaneToggle{ display:block;} + #breadCrumbPane{ padding-left: 35px;} + </style> <div metal:use-macro="here/templates/macros/leftPane"/> <div id="rightPane"> @@ -157,7 +159,7 @@ infoBar - second bar on the page, for breadcrumbs et al ====================================================== --> <div id="infoBar" metal:define-macro="infoBar"> -<div id="leftPaneToggle"> </div> +<div id="leftPaneToggle"></div> <div metal:use-macro="here/templates/macros/breadCrumbPane"></div> </div> Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-05 17:29:20 UTC (rev 4184) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-05 18:03:59 UTC (rev 4185) @@ -41,7 +41,6 @@ } #infoBar div { - display: inline; } #leftPaneToggle { @@ -49,14 +48,16 @@ height: 30px; line-height: 30px; width: 30px; - display: block; position: absolute; top: 0px; left: 0px; border-right: 1px solid black; cursor: pointer; + display: none; + z-index: 3000; } + #logo { padding:0; margin:0; @@ -146,7 +147,7 @@ top: 107px; margin: 0px 0px 0px 0px; padding-left: 5px; - padding-top: 10px; + /* padding-top: 10px;*/ width: 110px; background-color: #666; } @@ -222,7 +223,7 @@ padding-left: 120px; margin: 0px; font-weight: bold; - border: 0px solid red; + border: medium none; } #breadCrumbPane a { Modified: trunk/Products/ZenUtils/js/zenui.js =================================================================== --- trunk/Products/ZenUtils/js/zenui.js 2007-03-05 17:29:20 UTC (rev 4184) +++ trunk/Products/ZenUtils/js/zenui.js 2007-03-05 18:03:59 UTC (rev 4185) @@ -59,12 +59,13 @@ function hideLeftPane() { var leftPane = $('leftPane'); var rightPane = $('rightPane'); - makeVisible($('leftPaneToggle')); + showElement('leftPaneToggle'); makeInvisible(leftPane); makeInvisible($('paneToggle')); setStyle('paneToggle', { 'background-image':'url(img/paneToggle_bg_collapsed.gif)', }); + setStyle('breadCrumbPane', { 'padding-left':'35px'}); setStyle(rightPane, {'margin-left':'12px'}); doHover(); } @@ -74,10 +75,11 @@ var rightPane = $('rightPane'); makeVisible(leftPane); makeVisible($('paneToggle')); - makeInvisible($('leftPaneToggle')); + hideElement('leftPaneToggle'); setStyle('paneToggle', { 'background-image':'url(img/paneToggle_bg.gif)', }); + setStyle('breadCrumbPane', { 'padding-left':'120px'}); setStyle(rightPane, {'margin-left':'120px'}); cancelHover(); } @@ -111,7 +113,7 @@ // 'padding-top':'2px', 'z-index':'3000' }); - connect(leftPaneToggle, 'onclick', function(){ + connect('leftPaneToggle', 'onclick', function(){ clearTimeout(t); doShowing(); }); |
From: <sv...@ze...> - 2007-03-05 17:29:25
|
Author: ian Date: 2007-03-05 11:29:20 -0600 (Mon, 05 Mar 2007) New Revision: 4184 Modified: trunk/Products/ZenModel/ZenMenu.py Log: * New menu items now override existing ones Modified: trunk/Products/ZenModel/ZenMenu.py =================================================================== --- trunk/Products/ZenModel/ZenMenu.py 2007-03-05 17:13:09 UTC (rev 4183) +++ trunk/Products/ZenModel/ZenMenu.py 2007-03-05 17:29:20 UTC (rev 4184) @@ -44,6 +44,8 @@ mi = None if id: mi = ZenMenuItem(id) + try: self.zenMenuItems._delObject(id) + except AttributeError: pass self.zenMenuItems._setObject(id, mi) mi.description = description mi.action = action |
From: <sv...@ze...> - 2007-03-05 17:13:09
|
Author: ian Date: 2007-03-05 11:13:09 -0600 (Mon, 05 Mar 2007) New Revision: 4183 Modified: trunk/Products/ZenModel/migrate/menus.py Log: * Separated the "Manage" menu tab for devices and organizers Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-05 16:36:02 UTC (rev 4182) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-05 17:13:09 UTC (rev 4183) @@ -1,7 +1,6 @@ ################################################################# +# # Copyright (c) 2007 Zenoss, Inc. All rights reserved. # -# Copyright (c) 2007 Zenoss, Inc. All rights reserved. -# ################################################################# __doc__=''' @@ -74,9 +73,17 @@ id= 'manageob', description='Manage', action= 'deviceOrganizerManage', - permissions=('View',) + permissions=('View',), + allowed_classes=('DeviceClass',) ), dict( + id= 'managedev', + description='Manage', + action= 'deviceManagement', + permissions=('View',), + allowed_classes=('Device',) + ), + dict( id= 'editCustSchema', description='Custom Schema', action= 'editCustSchema', |
From: <sv...@ze...> - 2007-03-05 16:36:32
|
Author: ian Date: 2007-03-05 10:36:02 -0600 (Mon, 05 Mar 2007) New Revision: 4182 Added: trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg_collapsed.gif trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg_collapsed.gif Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenModel/skins/zenmodel/zenoss.css trunk/Products/ZenUtils/js/zenui.js trunk/Products/ZenWidgets/skins/zenui/img/infobar_bg.gif Log: * Fixing some images and menus; more work to come on leftPane Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-05 14:20:49 UTC (rev 4181) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-05 16:36:02 UTC (rev 4182) @@ -20,24 +20,20 @@ <div id="frame"> <div metal:use-macro="here/templates/macros/topPane"/> <div metal:use-macro="here/templates/macros/infoBar"/> - <div id="paneToggle"> - <img src="hide.png" alt="Hide/Show" onclick="toggleLeftPane();"/> + <div id="paneToggle" onclick="toggleLeftPane();"> + </div> <style tal:condition="python:'Zenoss_Collapsed_Menu' in here.REQUEST.HTTP_COOKIE"> #leftPane { display:none;} #rightPane { margin-left:12px;} + #paneToggle { + background-image: url('paneToggle_bg_collapsed.gif'); + } </style> <div metal:use-macro="here/templates/macros/leftPane"/> <div id="rightPane"> <tal:block metal:define-slot="rightPane"> - <!-- - <div id="breadCrumbPane"> - <tal:block metal:define-slot="breadCrumbPane"> - /DEFAULT - </tal:block> - </div> - --> <div id="contentPane"> <tal:block metal:define-slot="contentPane"> CONTENT GOES HERE @@ -161,6 +157,7 @@ infoBar - second bar on the page, for breadcrumbs et al ====================================================== --> <div id="infoBar" metal:define-macro="infoBar"> +<div id="leftPaneToggle"> </div> <div metal:use-macro="here/templates/macros/breadCrumbPane"></div> </div> Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-05 14:20:49 UTC (rev 4181) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-05 16:36:02 UTC (rev 4182) @@ -30,15 +30,33 @@ } #infoBar { - background: #ffffe0 url('img/infobar_bg.gif') top left repeat-x; + background: #A1AFC4 url('img/infobar_bg.gif') top left repeat-x; border-bottom: 1px solid #444; height: 25px; line-height: 25px; - margin-bottom: 10px; + margin-bottom: 20px; padding-left: 10px; padding-top: 5px; + position: relative; } +#infoBar div { + display: inline; +} + +#leftPaneToggle { + background: transparent url('img/leftpanetoggle_bg.gif') top left repeat-x; + height: 30px; + line-height: 30px; + width: 30px; + display: block; + position: absolute; + top: 0px; + left: 0px; + border-right: 1px solid black; + cursor: pointer; +} + #logo { padding:0; margin:0; @@ -125,28 +143,27 @@ position: absolute; z-index: 999; left: 0px; - margin: 25px 0px 0px 0px; + top: 107px; + margin: 0px 0px 0px 0px; padding-left: 5px; - width: 9em; - border-right: 1px solid black; - /* - background: #666 url('img/menu_bottom.gif') bottom no-repeat; - */ + padding-top: 10px; + width: 110px; + background-color: #666; } + #leftPane p { padding: 0px 0px 0px 0px; margin: 0px; margin-bottom: 5px; font-weight: bold; border-bottom: 1px dotted black; - /*color: white;*/ + color: white; } #leftPane ul { list-style: none; margin: 0px 0px 10px 0px; padding: 0px; - } #leftPane ul li { @@ -155,9 +172,10 @@ margin: 0px; border-bottom: 1px dotted #777; } + #leftPane ul li a { text-decoration: none; - color: #5a6f8f; + color: white; display: block; padding: 2px ; margin: 0px; @@ -180,6 +198,7 @@ color: white; background: #5a6f8f; } + #rightPane { /*position: absolute; @@ -189,45 +208,39 @@ float:right; */ padding: 5px; - margin-left: 9.6em; + margin-left: 11em; /*margin-top: 5px;*/ /* background: #b1bcd2 url(breadcrumb_left_curve.gif) no-repeat left top;*/ - } -/*#rightPane table {margin-left: 5px; }*/ -#breadCrumbPane -{ +#breadCrumbPane { color: #444; font-size: 12pt; letter-spacing: 1px; padding-top: 0px; padding-bottom: 0px; - padding-left: 15px; + padding-left: 120px; margin: 0px; font-weight: bold; border: 0px solid red; } -#breadCrumbPane a -{ +#breadCrumbPane a { color: inherit; font-size: inherit; /* background: inherit; */ font-weight: inherit; text-decoration: none; } -#breadCrumbPane a:hover -{ + +#breadCrumbPane a:hover { text-decoration: underline; } -#tabsPane -{ +#tabsPane { } -#contentPane -{ +#contentPane { padding: 5px 15px; background: #E0E0E0; min-height: 400px; @@ -238,6 +251,7 @@ border-right: 5px solid #b1bcd2 ; */ } + a:link { color: #000040; } @@ -664,9 +678,14 @@ } #paneToggle { - float:left; + position: absolute; + top: 87px; + left: 0px; + height: 20px; + width: 117px; z-index: 1000; cursor: pointer; + background: transparent url('img/paneToggle_bg.gif') top left no-repeat; } @import url('filterbox.css'); Modified: trunk/Products/ZenUtils/js/zenui.js =================================================================== --- trunk/Products/ZenUtils/js/zenui.js 2007-03-05 14:20:49 UTC (rev 4181) +++ trunk/Products/ZenUtils/js/zenui.js 2007-03-05 16:36:02 UTC (rev 4182) @@ -59,7 +59,12 @@ function hideLeftPane() { var leftPane = $('leftPane'); var rightPane = $('rightPane'); + makeVisible($('leftPaneToggle')); makeInvisible(leftPane); + makeInvisible($('paneToggle')); + setStyle('paneToggle', { + 'background-image':'url(img/paneToggle_bg_collapsed.gif)', + }); setStyle(rightPane, {'margin-left':'12px'}); doHover(); } @@ -68,7 +73,12 @@ var leftPane = $('leftPane'); var rightPane = $('rightPane'); makeVisible(leftPane); - setStyle(rightPane, {'margin-left':'108px'}); + makeVisible($('paneToggle')); + makeInvisible($('leftPaneToggle')); + setStyle('paneToggle', { + 'background-image':'url(img/paneToggle_bg.gif)', + }); + setStyle(rightPane, {'margin-left':'120px'}); cancelHover(); } @@ -77,37 +87,52 @@ if (!isVisible(leftPane)) { showLeftPane() } else { hideLeftPane() } } + +function doHiding() { + hideElement($('leftPane')); + hideElement($('paneToggle')); +} + +function doShowing() { + showElement($('leftPane')); + showElement($('paneToggle')); +} + var t; function doHover() { var leftPane = $('leftPane'); var paneToggle = $('paneToggle'); + var leftPaneToggle = $('leftPaneToggle'); var lpPopup = leftPane; - var elemPos = getElementPosition(paneToggle); - elemPos.x += 5; - elemPos.y += -25; - setElementPosition(lpPopup, elemPos); setStyle(lpPopup, { 'position':'absolute', - 'background-color':'white', - 'padding':'2px', - 'padding-top':'2px', - 'border':'1px solid darkgrey', +// 'background-color':'white', +// 'padding':'2px', +// 'padding-top':'2px', 'z-index':'3000' }); - connect(paneToggle, 'onmouseover', function(){ + connect(leftPaneToggle, 'onclick', function(){ clearTimeout(t); - showElement(lpPopup) + doShowing(); }); connect(leftPane, 'onmouseover', function(){ clearTimeout(t); - showElement(lpPopup) + doShowing(); }); + connect($('paneToggle'), 'onmouseover', function(){ + clearTimeout(t); + doShowing(); + }); connect(paneToggle,'onmouseout',function(){ - t=setTimeout('hideElement($("leftPane"))',500); + t=setTimeout('doHiding()',500); }); connect(leftPane, 'onmouseout', function(){ - t=setTimeout('hideElement($("leftPane"))',500); + t=setTimeout('doHiding()',500); }); + connect(paneToggle, 'onclick', function(){ + clearTimeout(t); + toggleLeftPane(); + }); setCookie('Zenoss_Collapsed_Menu', 'true',30,'/','',''); } Modified: trunk/Products/ZenWidgets/skins/zenui/img/infobar_bg.gif =================================================================== (Binary files differ) Added: trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg_collapsed.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftPane_bg_collapsed.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/leftpanetoggle_bg.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg_collapsed.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg_collapsed.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
From: <sv...@ze...> - 2007-03-05 14:21:19
|
Author: edahl Date: 2007-03-05 08:20:49 -0600 (Mon, 05 Mar 2007) New Revision: 4181 Modified: trunk/Products/ZenModel/Report.py Log: * fix reprots by moving zopepagetemplate to be before zenmodelrm Modified: trunk/Products/ZenModel/Report.py =================================================================== --- trunk/Products/ZenModel/Report.py 2007-03-02 20:15:52 UTC (rev 4180) +++ trunk/Products/ZenModel/Report.py 2007-03-05 14:20:49 UTC (rev 4181) @@ -59,7 +59,7 @@ __name__='addReport') -class Report(ZenModelRM, ZopePageTemplate, ZenPackable): +class Report(ZopePageTemplate, ZenModelRM, ZenPackable): """Report object""" meta_type = 'Report' |
From: <sv...@ze...> - 2007-03-02 20:16:14
|
Author: marc Date: 2007-03-02 14:15:52 -0600 (Fri, 02 Mar 2007) New Revision: 4180 Modified: trunk/Products/ZenModel/SoftwareClass.py trunk/Products/ZenModel/data/manufacturers.xml trunk/Products/ZenModel/skins/zenmodel/addDevice.pt Log: #469 * Created a new OSSoftwareClass Modified: trunk/Products/ZenModel/SoftwareClass.py =================================================================== --- trunk/Products/ZenModel/SoftwareClass.py 2007-03-02 17:50:33 UTC (rev 4179) +++ trunk/Products/ZenModel/SoftwareClass.py 2007-03-02 20:15:52 UTC (rev 4180) @@ -73,3 +73,9 @@ InitializeClass(SoftwareClass) + +class OSSoftwareClass(SoftwareClass): + """OSSoftwareClass object""" + portal_type = meta_type = 'OSSoftwareClass' + +InitializeClass(OSSoftwareClass) \ No newline at end of file Modified: trunk/Products/ZenModel/data/manufacturers.xml =================================================================== --- trunk/Products/ZenModel/data/manufacturers.xml 2007-03-02 17:50:33 UTC (rev 4179) +++ trunk/Products/ZenModel/data/manufacturers.xml 2007-03-02 20:15:52 UTC (rev 4180) @@ -511,17 +511,17 @@ CA </property> <tomanycont id='products'> -<object id='Macos 10.4.1' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Macos 10.4.1' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Darwin 8.1.0'] </property> </object> -<object id='Macos 10.4.2' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Macos 10.4.2' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Darwin 8.2.0'] </property> </object> -<object id='Macos 10.4.3' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Macos 10.4.3' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Macos 10.4.3'] </property> @@ -5261,7 +5261,7 @@ </object> <object id='Fedora' module='Products.ZenModel.Manufacturer' class='Manufacturer'> <tomanycont id='products'> -<object id='Linux 2.6.15-1.2054_FC5' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.15-1.2054_FC5' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.15-1.2054_FC5 </property> @@ -5269,7 +5269,7 @@ ['Linux 2.6.15-1.2054_FC5'] </property> </object> -<object id='Linux 2.6.18-1.2798.fc6' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.18-1.2798.fc6' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.18-1.2798.fc6 </property> @@ -5466,7 +5466,7 @@ </object> <object id='Gentoo' module='Products.ZenModel.Manufacturer' class='Manufacturer'> <tomanycont id='products'> -<object id='Linux 2.6.16-gentoo-r13' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.16-gentoo-r13' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.16-gentoo-r13 </property> @@ -5944,7 +5944,7 @@ ['.1.3.6.1.4.1.2.3.1.2.1.1.3'] </property> </object> -<object id='IBM AIX version_ 05.02.0000.0050' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='IBM AIX version_ 05.02.0000.0050' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['IBM AIX version: 05.02.0000.0050'] </property> @@ -6206,7 +6206,7 @@ http://www.kernel.org </property> <tomanycont id='products'> -<object id='Linux 2.4.20' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.4.20' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Linux 2.4.20'] </property> @@ -6607,17 +6607,17 @@ ['Microsoft Web Publishing Wizard 1.53'] </property> </object> -<object id='Microsoft Windows 2000 Advanced Server' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows 2000 Advanced Server' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows 2000 Advanced Server'] </property> </object> -<object id='Microsoft Windows 2000 Resource Kit' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows 2000 Resource Kit' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows 2000 Resource Kit'] </property> </object> -<object id='Microsoft Windows 2000 Server' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows 2000 Server' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows 2000 Server'] </property> @@ -6627,37 +6627,37 @@ ['Microsoft Windows Journal Viewer'] </property> </object> -<object id='Microsoft Windows NT Server' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows NT Server' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows NT Server'] </property> </object> -<object id='Microsoft Windows NT Server Enterprise' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows NT Server Enterprise' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows NT Server Enterprise'] </property> </object> -<object id='Microsoft Windows Server 2003, Enterprise Edition' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows Server 2003, Enterprise Edition' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows Server 2003, Enterprise Edition'] </property> </object> -<object id='Microsoft Windows Server 2003, Enterprise Edition Service Pack 1' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows Server 2003, Enterprise Edition Service Pack 1' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows Server 2003, Enterprise Edition Service Pack 1'] </property> </object> -<object id='Microsoft Windows Server 2003, Standard Edition' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows Server 2003, Standard Edition' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows Server 2003, Standard Edition'] </property> </object> -<object id='Microsoft Windows Server 2003, Standard Edition ' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows Server 2003, Standard Edition ' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows Server 2003, Standard Edition '] </property> </object> -<object id='Microsoft Windows Server 2003, Standard Edition Service Pack 1' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Microsoft Windows Server 2003, Standard Edition Service Pack 1' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Microsoft Windows Server 2003, Standard Edition Service Pack 1'] </property> @@ -8976,7 +8976,7 @@ ['SPACK 6.5.3 v3.0 Support Pack for NetWare 6.5'] </property> </object> -<object id='Suse' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Suse' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Suse'] </property> @@ -9371,12 +9371,12 @@ https://www.redhat.com/apps/support/ </property> <tomanycont id='products'> -<object id='Linux 2.4.20-30_37.rh9.at' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.4.20-30_37.rh9.at' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Linux 2.4.20-30_37.rh9.at'] </property> </object> -<object id='Linux 2.4.20-46.7.legacy' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.4.20-46.7.legacy' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.4.20-46.7.legacy </property> @@ -9384,12 +9384,12 @@ ['Linux 2.4.20-46.7.legacy'] </property> </object> -<object id='Linux 2.6.11-1.14_FC3' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.11-1.14_FC3' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Linux 2.6.11-1.14_FC3'] </property> </object> -<object id='Linux 2.6.9-34.0.2.ELsmp' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.9-34.0.2.ELsmp' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.9-34.0.2.ELsmp </property> @@ -9397,7 +9397,7 @@ ['Linux 2.6.9-34.0.2.ELsmp'] </property> </object> -<object id='Linux 2.6.9-34.EL' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.9-34.EL' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.9-34.EL </property> @@ -9405,7 +9405,7 @@ ['Linux 2.6.9-34.EL'] </property> </object> -<object id='Linux 2.6.9-42.ELsmp' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.9-42.ELsmp' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.9-42.ELsmp </property> @@ -9413,12 +9413,12 @@ ['Linux 2.6.9-42.ELsmp'] </property> </object> -<object id='Linux 2.6.9-5.ELsmp' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.9-5.ELsmp' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['Linux 2.6.9-5.ELsmp'] </property> </object> -<object id='REL ES 4.3' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='REL ES 4.3' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['REL ES 4.3'] </property> @@ -9767,7 +9767,7 @@ ['Java Web Start'] </property> </object> -<object id='SunOS 5.8' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='SunOS 5.8' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="lines" id="productKeys" mode="w" > ['SunOS 5.8'] </property> @@ -9854,7 +9854,7 @@ </object> <object id='Ubuntu' module='Products.ZenModel.Manufacturer' class='Manufacturer'> <tomanycont id='products'> -<object id='Linux 2.6.17-10-server' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 2.6.17-10-server' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 2.6.17-10-server </property> @@ -23057,7 +23057,7 @@ ['Server'] </property> </object> -<object id='VMware Server' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='VMware Server' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > VMware Server </property> @@ -23263,7 +23263,7 @@ </object> <object id='rPath' module='Products.ZenModel.Manufacturer' class='Manufacturer'> <tomanycont id='products'> -<object id='Linux 1.0.3' module='Products.ZenModel.SoftwareClass' class='SoftwareClass'> +<object id='Linux 1.0.3' module='Products.ZenModel.SoftwareClass' class='OSSoftwareClass'> <property type="string" id="name" mode="w" > Linux 1.0.3 </property> Modified: trunk/Products/ZenModel/skins/zenmodel/addDevice.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/addDevice.pt 2007-03-02 17:50:33 UTC (rev 4179) +++ trunk/Products/ZenModel/skins/zenmodel/addDevice.pt 2007-03-02 20:15:52 UTC (rev 4180) @@ -198,7 +198,7 @@ tal:define=" comps python:here.getDmdRoot('Manufacturers').getManufacturerNames(); curman request/osManufacturer | device/os/getManufacturerName | nothing" - tal:attributes="onchange string:getProdSelectList(this,'osprod','SoftwareClass')" + tal:attributes="onchange string:getProdSelectList(this,'osprod','OSSoftwareClass')" > <option value=""></option> <option tal:repeat="comp comps" @@ -220,7 +220,7 @@ <select class="tablevalues" id="osprod" name="osProductName" tal:define=" cname request/osManufacturer | device/os/getManufacturerName | string:; - prods python:here.getDmdRoot('Manufacturers').getProductNames(cname,'SoftwareClass'); + prods python:here.getDmdRoot('Manufacturers').getProductNames(cname,'OSSoftwareClass'); curprod device/os/getProductName | request/osProductName | nothing" > <option tal:repeat="prod prods" |
From: <sv...@ze...> - 2007-03-02 17:50:32
|
Author: ecn Date: 2007-03-02 11:50:33 -0600 (Fri, 02 Mar 2007) New Revision: 4179 Modified: trunk/Products/ZenModel/PerformanceConf.py Log: * for some reason, mysql returns a string for count() Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-03-02 17:15:47 UTC (rev 4178) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-03-02 17:50:33 UTC (rev 4179) @@ -159,7 +159,7 @@ cmd += ' AND device = "%s"' % devname cmd += ' GROUP BY device' curs.execute(cmd); - counts = dict([(d, c) for d, c in curs.fetchall()]) + counts = dict([(d, int(c)) for d, c in curs.fetchall()]) finally: zem.close(conn) except Exception, ex: log.exception('Unable to get Snmp Status') |
From: <sv...@ze...> - 2007-03-02 17:15:48
|
Author: ian Date: 2007-03-02 11:15:47 -0600 (Fri, 02 Mar 2007) New Revision: 4178 Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css Log: * This unbreaks the menus and images. Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-02 17:09:41 UTC (rev 4177) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-02 17:15:47 UTC (rev 4178) @@ -30,7 +30,7 @@ } #infoBar { - background: #ffffe0 url('infobar_bg.gif') top left repeat-x; + background: #ffffe0 url('img/infobar_bg.gif') top left repeat-x; border-bottom: 1px solid #444; height: 25px; line-height: 25px; @@ -94,7 +94,7 @@ } #settings div.searchbox { - background: transparent url('search_box_bg.gif') 5px 5px no-repeat; + background: transparent url('img/search_box_bg.gif') 5px 5px no-repeat; width: 183px; position: absolute; top: 6px; @@ -125,17 +125,21 @@ position: absolute; z-index: 999; left: 0px; - margin: 25px 0px 0px 5px; - padding: 5px 0px 0px 0px; - width: 8.6em; - border: 0px solid red; + margin: 25px 0px 0px 0px; + padding-left: 5px; + width: 9em; + border-right: 1px solid black; + /* + background: #666 url('img/menu_bottom.gif') bottom no-repeat; + */ } #leftPane p { padding: 0px 0px 0px 0px; margin: 0px; + margin-bottom: 5px; font-weight: bold; - border-bottom: 1px solid #5a6f8f; - color: #5a6f8f; + border-bottom: 1px dotted black; + /*color: white;*/ } #leftPane ul { @@ -147,20 +151,21 @@ #leftPane ul li { display: block; - padding: 0px 0px 0px 0px; + padding: 0px 0px; margin: 0px; + border-bottom: 1px dotted #777; } #leftPane ul li a { text-decoration: none; + color: #5a6f8f; display: block; - padding: 1px 0px 1px 3px; + padding: 2px ; margin: 0px; } #leftPane ul li a:hover { color: white; background: #5a6f8f; - } #leftpane ul li a.selected { @@ -184,7 +189,7 @@ float:right; */ padding: 5px; - margin-left: 9.0em; + margin-left: 9.6em; /*margin-top: 5px;*/ /* background: #b1bcd2 url(breadcrumb_left_curve.gif) no-repeat left top;*/ @@ -280,11 +285,11 @@ border-left: 1px solid #444; border-right: 1px solid #444; border-top: 1px solid black; - background: transparent url(titlebar_bg.gif) repeat-x bottom left; + background: transparent url(img/titlebar_bg.gif) repeat-x bottom left; height: 23px; } table.tabtable td a.tabletitle:hover { - background: transparent url(titlebar_bg_depressed.gif) repeat-x bottom left; + background: transparent url(img/titlebar_bg_depressed.gif) repeat-x bottom left; } table.tabtable td.contextmenutab a.tabletitle { @@ -295,10 +300,10 @@ border-right: 0pt; margin-bottom: -1px; margin-left: -1px; - background-image: url('contextmenu_tab.gif'); + background-image: url('img/contextmenu_tab.gif'); } table.tabtable td.contextmenutab a.tabletitle:hover { - background-image: url('contextmenu_tab_depressed.gif'); + background-image: url('img/contextmenu_tab_depressed.gif'); } table.tabtable td.tabletitleselected { @@ -309,7 +314,7 @@ border: 0px; line-height: 26px; width: 101px; - background: transparent url(tab_bg_selected.gif) no-repeat bottom left; + background: transparent url(img/tab_bg_selected.gif) no-repeat bottom left; } table.tabtable td.tabletitleselected a, @@ -398,7 +403,7 @@ th.tabletitle { height: 25px; line-height: 25px; - background: transparent url('titlebar_bg.gif') repeat-x top; + background: transparent url('img/titlebar_bg.gif') repeat-x top; color: white; padding: 0pt; font-size: 1.2em; @@ -433,12 +438,14 @@ .tabletitlecontainer .leftcorner { left: 0px; - background: #E0E0E0 url('titlebar_left_corner.gif') bottom left no-repeat; + background: #E0E0E0 url('img/titlebar_left_corner.gif') + bottom left no-repeat; width: 52px; } .tabletitlecontainer .rightcorner { right: 0px; - background: #E0E0E0 url('titlebar_right_corner.gif') bottom left no-repeat; + background: #E0E0E0 url('img/titlebar_right_corner.gif') + bottom left no-repeat; width: 52px; } @@ -665,3 +672,4 @@ @import url('filterbox.css'); @import url('menus.css'); + |
From: <sv...@ze...> - 2007-03-02 17:10:12
|
Author: ian Date: 2007-03-02 11:09:41 -0600 (Fri, 02 Mar 2007) New Revision: 4177 Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css trunk/Products/ZenWidgets/skins/zenui/css/menus.css trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: * Fixed another reference bug, so that css and imgs are called properly Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-02 15:09:02 UTC (rev 4176) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-02 17:09:41 UTC (rev 4177) @@ -107,7 +107,7 @@ <link rel="stylesheet" type="text/css" title="zenoss" href="/zport/portal_skins/zenevents.css" > <link rel="stylesheet" type="text/css" title="zenoss" - href="/zport/portal_skins/tables.css" > + href="/zport/portal_skins/css/tables.css" > <!--[if IE]> <link rel="stylesheet" type="text/css" title="zenoss" href="/zport/portal_skins/zenoss_ie.css" > Modified: trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css 2007-03-02 15:09:02 UTC (rev 4176) +++ trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css 2007-03-02 17:09:41 UTC (rev 4177) @@ -1,5 +1,5 @@ .filterbox { - background: transparent url('filter_box_bg.gif') no-repeat 0px 0px; + background: transparent url('img/filter_box_bg.gif') no-repeat 0px 0px; height: 26px; line-height: 26px; position: absolute; Modified: trunk/Products/ZenWidgets/skins/zenui/css/menus.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-02 15:09:02 UTC (rev 4176) +++ trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-02 17:09:41 UTC (rev 4177) @@ -52,7 +52,7 @@ } div.menu_bottom { - background: transparent url('menu_bottom.gif') bottom left no-repeat; + background: transparent url('img/menu_bottom.gif') bottom left no-repeat; position: absolute; bottom: 0px; left: -2px; @@ -62,7 +62,7 @@ } div.menu_top { - background: transparent url('menu_top.gif') top left no-repeat; + background: transparent url('img/menu_top.gif') top left no-repeat; position: absolute; top: 0px; left: -2px; @@ -114,7 +114,7 @@ z-index: 2007; border-left: 1px inset #666; height: 25px; - background: #E0E0E0 url('actions_button.gif') bottom left no-repeat; + background: #E0E0E0 url('img/actions_button.gif') bottom left no-repeat; position:absolute; right:0px; bottom: 0px; @@ -126,7 +126,7 @@ } div.devmovemenu:hover { - background: #E0E0E0 url('actions_button_depressed.gif') bottom left no-repeat; + background: #E0E0E0 url('img/actions_button_depressed.gif') bottom left no-repeat; } /* IE HACKS */ Modified: trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt 2007-03-02 15:09:02 UTC (rev 4176) +++ trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt 2007-03-02 17:09:41 UTC (rev 4177) @@ -1,7 +1,7 @@ <!--============Basic dialog box wrapper===============--> <tal:block metal:define-macro="dialog"> <script src="javascript/dialog.js"></script> -<link href="dialog.css" rel="stylesheet" type="text/css" /> +<link href="css/dialog.css" rel="stylesheet" type="text/css" /> <div id="dialog" class="dialog"> <div id="dialog_close" class="dialog_close">X</div> <div id="dialog_content"> Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-02 15:09:02 UTC (rev 4176) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-02 17:09:41 UTC (rev 4177) @@ -2,7 +2,7 @@ tal:condition="python:hasattr(here, 'getMenus')" tal:define="menu_id string:Context"> -<link href="menus.css" rel="stylesheet" type="text/css" /> +<link href="css/menus.css" rel="stylesheet" type="text/css" /> <div class="contextmenu" tal:attributes="id menu_id" tal:define="menuitems python:here.getMenus(menu_id, here); @@ -68,7 +68,7 @@ </tal:block> <tal:block metal:define-macro="filterbox"> -<link href="filterbox.css" rel="stylesheet" type="text/css" /> +<link href="css/filterbox.css" rel="stylesheet" type="text/css" /> <div class="filterbox" tal:define="ts python:here.ZenTableManager.getTableState(tableName); message request/SESSION/message | nothing;"> @@ -81,7 +81,7 @@ <tal:block metal:define-macro="devmovemenu"> -<link href="menus.css" rel="stylesheet" type="text/css" /> +<link href="css/menus.css" rel="stylesheet" type="text/css" /> <div class="littlemenu" tal:attributes="id menu_id" tal:define="menuitems python:here.getMenus(menu_id, here); |
From: <sv...@ze...> - 2007-03-02 15:09:02
|
Author: marc Date: 2007-03-02 09:09:02 -0600 (Fri, 02 Mar 2007) New Revision: 4176 Removed: trunk/Products/ZenRRD/ProxyRenderServer.py trunk/Products/ZenRRD/dtml/addProxyRenderServer.dtml Log: #998 * No need for ProxyRenderServer deleting Deleted: trunk/Products/ZenRRD/ProxyRenderServer.py Deleted: trunk/Products/ZenRRD/dtml/addProxyRenderServer.dtml |
From: <sv...@ze...> - 2007-03-02 14:43:44
|
Author: ian Date: 2007-03-02 08:43:45 -0600 (Fri, 02 Mar 2007) New Revision: 4175 Added: trunk/Products/ZenWidgets/skins/zenui/javascript/ Removed: trunk/Products/ZenWidgets/skins/zenui/js/ Modified: trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt Log: * Fixed one js link from the previous commit. Modified: trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt 2007-03-02 14:41:30 UTC (rev 4174) +++ trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt 2007-03-02 14:43:45 UTC (rev 4175) @@ -1,6 +1,6 @@ <!--============Basic dialog box wrapper===============--> <tal:block metal:define-macro="dialog"> -<script src="dialog.js"></script> +<script src="javascript/dialog.js"></script> <link href="dialog.css" rel="stylesheet" type="text/css" /> <div id="dialog" class="dialog"> <div id="dialog_close" class="dialog_close">X</div> Copied: trunk/Products/ZenWidgets/skins/zenui/javascript (from rev 4174, trunk/Products/ZenWidgets/skins/zenui/js) |
From: <sv...@ze...> - 2007-03-02 14:41:32
|
Author: ian Date: 2007-03-02 08:41:30 -0600 (Fri, 02 Mar 2007) New Revision: 4174 Added: trunk/Products/ZenWidgets/skins/zenui/css/ trunk/Products/ZenWidgets/skins/zenui/css/dialog.css trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css trunk/Products/ZenWidgets/skins/zenui/css/menus.css trunk/Products/ZenWidgets/skins/zenui/css/tables.css trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt trunk/Products/ZenWidgets/skins/zenui/img/ trunk/Products/ZenWidgets/skins/zenui/img/actions_button.gif trunk/Products/ZenWidgets/skins/zenui/img/actions_button_depressed.gif trunk/Products/ZenWidgets/skins/zenui/img/actions_button_depressed_blue.gif trunk/Products/ZenWidgets/skins/zenui/img/arrow.d.gif trunk/Products/ZenWidgets/skins/zenui/img/contextmenu_tab.gif trunk/Products/ZenWidgets/skins/zenui/img/contextmenu_tab_depressed.gif trunk/Products/ZenWidgets/skins/zenui/img/filter_box_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/infobar_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/menu_bottom.gif trunk/Products/ZenWidgets/skins/zenui/img/menu_top.gif trunk/Products/ZenWidgets/skins/zenui/img/search_box_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/settingsbox_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/settingsbox_bg_left.gif trunk/Products/ZenWidgets/skins/zenui/img/spinning_wheel_throbber.gif trunk/Products/ZenWidgets/skins/zenui/img/tab_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/tab_bg_selected.gif trunk/Products/ZenWidgets/skins/zenui/img/table_header_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/titlebar_bg.gif trunk/Products/ZenWidgets/skins/zenui/img/titlebar_bg_depressed.gif trunk/Products/ZenWidgets/skins/zenui/img/titlebar_left_corner.gif trunk/Products/ZenWidgets/skins/zenui/img/titlebar_right_corner.gif trunk/Products/ZenWidgets/skins/zenui/js/ trunk/Products/ZenWidgets/skins/zenui/js/dialog.js Removed: trunk/Products/ZenWidgets/skins/zenui/actions_button.gif trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed.gif trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed_blue.gif trunk/Products/ZenWidgets/skins/zenui/arrow.d.gif trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab.gif trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab_depressed.gif trunk/Products/ZenWidgets/skins/zenui/dialog.css trunk/Products/ZenWidgets/skins/zenui/dialog.js trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt trunk/Products/ZenWidgets/skins/zenui/filter_box_bg.gif trunk/Products/ZenWidgets/skins/zenui/filterbox.css trunk/Products/ZenWidgets/skins/zenui/infobar_bg.gif trunk/Products/ZenWidgets/skins/zenui/menu_bottom.gif trunk/Products/ZenWidgets/skins/zenui/menu_top.gif trunk/Products/ZenWidgets/skins/zenui/menus.css trunk/Products/ZenWidgets/skins/zenui/search_box_bg.gif trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg.gif trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg_left.gif trunk/Products/ZenWidgets/skins/zenui/spinning_wheel_throbber.gif trunk/Products/ZenWidgets/skins/zenui/tab_bg.gif trunk/Products/ZenWidgets/skins/zenui/tab_bg_selected.gif trunk/Products/ZenWidgets/skins/zenui/table_header_bg.gif trunk/Products/ZenWidgets/skins/zenui/tables.css trunk/Products/ZenWidgets/skins/zenui/titlebar_bg.gif trunk/Products/ZenWidgets/skins/zenui/titlebar_bg_depressed.gif trunk/Products/ZenWidgets/skins/zenui/titlebar_left_corner.gif trunk/Products/ZenWidgets/skins/zenui/titlebar_right_corner.gif Log: * Reorganized the zenui directory Deleted: trunk/Products/ZenWidgets/skins/zenui/actions_button.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed_blue.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/arrow.d.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab_depressed.gif Copied: trunk/Products/ZenWidgets/skins/zenui/css/dialog.css (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/dialog.css) Copied: trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/filterbox.css) Copied: trunk/Products/ZenWidgets/skins/zenui/css/menus.css (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/menus.css) Copied: trunk/Products/ZenWidgets/skins/zenui/css/tables.css (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/tables.css) Deleted: trunk/Products/ZenWidgets/skins/zenui/dialog.css Deleted: trunk/Products/ZenWidgets/skins/zenui/dialog.js Deleted: trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt Added: trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt Deleted: trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt Added: trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt Deleted: trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt Added: trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt Deleted: trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt Added: trunk/Products/ZenWidgets/skins/zenui/dialogmacros.pt Deleted: trunk/Products/ZenWidgets/skins/zenui/filter_box_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/filterbox.css Copied: trunk/Products/ZenWidgets/skins/zenui/img/actions_button.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/actions_button.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/actions_button_depressed.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/actions_button_depressed_blue.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/actions_button_depressed_blue.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/arrow.d.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/arrow.d.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/contextmenu_tab.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/contextmenu_tab_depressed.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/contextmenu_tab_depressed.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/filter_box_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/filter_box_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/infobar_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/infobar_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/menu_bottom.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/menu_bottom.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/menu_top.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/menu_top.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/search_box_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/search_box_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/settingsbox_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/settingsbox_bg_left.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg_left.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/spinning_wheel_throbber.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/spinning_wheel_throbber.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/tab_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/tab_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/tab_bg_selected.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/tab_bg_selected.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/table_header_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/table_header_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/titlebar_bg.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/titlebar_bg.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/titlebar_bg_depressed.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/titlebar_bg_depressed.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/titlebar_left_corner.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/titlebar_left_corner.gif) Copied: trunk/Products/ZenWidgets/skins/zenui/img/titlebar_right_corner.gif (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/titlebar_right_corner.gif) Deleted: trunk/Products/ZenWidgets/skins/zenui/infobar_bg.gif Copied: trunk/Products/ZenWidgets/skins/zenui/js/dialog.js (from rev 4173, trunk/Products/ZenWidgets/skins/zenui/dialog.js) Deleted: trunk/Products/ZenWidgets/skins/zenui/menu_bottom.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/menu_top.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/menus.css Deleted: trunk/Products/ZenWidgets/skins/zenui/search_box_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/settingsbox_bg_left.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/spinning_wheel_throbber.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/tab_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/tab_bg_selected.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/table_header_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/tables.css Deleted: trunk/Products/ZenWidgets/skins/zenui/titlebar_bg.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/titlebar_bg_depressed.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/titlebar_left_corner.gif Deleted: trunk/Products/ZenWidgets/skins/zenui/titlebar_right_corner.gif |
From: <sv...@ze...> - 2007-03-02 13:44:16
|
Author: ahajda Date: 2007-03-02 07:44:01 -0600 (Fri, 02 Mar 2007) New Revision: 4173 Modified: trunk/wmi/Samba/source/wmi/pywmi.i Log: Disabled debugging (prev ci was too quick). Modified: trunk/wmi/Samba/source/wmi/pywmi.i =================================================================== --- trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 13:40:22 UTC (rev 4172) +++ trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 13:44:01 UTC (rev 4173) @@ -300,7 +300,7 @@ SambaError = PyErr_NewException("_pywmi.SambaError", PyExc_OSError, NULL); mod_win32_client = PyImport_ImportModule("win32com.client"); - DEBUGLEVEL = 99; + DEBUGLEVEL = 0; lp_load(); dcerpc_init(); |
From: <sv...@ze...> - 2007-03-02 13:40:24
|
Author: ahajda Date: 2007-03-02 07:40:22 -0600 (Fri, 02 Mar 2007) New Revision: 4172 Modified: trunk/wmi/Samba/source/librpc/ndr/libndr.h trunk/wmi/Samba/source/librpc/ndr/ndr_dcom.c trunk/wmi/Samba/source/wmi/pywmi.i trunk/wmi/Samba/source/wmi/wbemdata.c Log: Added support for unicode strings in WbemClassObject(exception WERROR_NOT_SUPPORTED) Modified: trunk/wmi/Samba/source/librpc/ndr/libndr.h =================================================================== Modified: trunk/wmi/Samba/source/librpc/ndr/ndr_dcom.c =================================================================== --- trunk/wmi/Samba/source/librpc/ndr/ndr_dcom.c 2007-03-02 12:33:43 UTC (rev 4171) +++ trunk/wmi/Samba/source/librpc/ndr/ndr_dcom.c 2007-03-02 13:40:22 UTC (rev 4172) @@ -113,13 +113,23 @@ if (!(ndr_flags & NDR_SCALARS)) return NT_STATUS_OK; NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &u)); - if (u) return NT_STATUS_NOT_SUPPORTED; - u = ndr->flags; - ndr->flags |= LIBNDR_FLAG_STR_ASCII | LIBNDR_FLAG_STR_NULLTERM; - status = ndr_pull_string(ndr, NDR_SCALARS, r); - DEBUG(9, ("%08X: Pull string: %s\n", ndr->offset, *r)); - ndr->flags = u; - return status; + switch (u) { + case 0: + u = ndr->flags; + ndr->flags |= LIBNDR_FLAG_STR_ASCII | LIBNDR_FLAG_STR_NULLTERM; + status = ndr_pull_string(ndr, NDR_SCALARS, r); + DEBUG(9, ("%08X: Pull string: %s\n", ndr->offset, *r)); + ndr->flags = u; + return status; + case 1: + u = ndr->flags; + ndr->flags |= LIBNDR_FLAG_STR_NULLTERM; + status = ndr_pull_string(ndr, NDR_SCALARS, r); + DEBUG(9, ("%08X: Pull string: %s\n", ndr->offset, *r)); + ndr->flags = u; + return status; + default: return NT_STATUS_NOT_SUPPORTED; + } } void ndr_print_CIMSTRING(struct ndr_print *ndr, const char *name, const CIMSTRING *r) Modified: trunk/wmi/Samba/source/wmi/pywmi.i =================================================================== --- trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 12:33:43 UTC (rev 4171) +++ trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 13:40:22 UTC (rev 4172) @@ -300,7 +300,7 @@ SambaError = PyErr_NewException("_pywmi.SambaError", PyExc_OSError, NULL); mod_win32_client = PyImport_ImportModule("win32com.client"); - DEBUGLEVEL = 0; + DEBUGLEVEL = 99; lp_load(); dcerpc_init(); Modified: trunk/wmi/Samba/source/wmi/wbemdata.c =================================================================== --- trunk/wmi/Samba/source/wmi/wbemdata.c 2007-03-02 12:33:43 UTC (rev 4171) +++ trunk/wmi/Samba/source/wmi/wbemdata.c 2007-03-02 13:40:22 UTC (rev 4172) @@ -506,6 +506,7 @@ ndr->data_size = size; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); + NDR_CHECK_set_shift(0x18); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &u)); NDR_CHECK_CONST(u, 0x0); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &u)); |
From: <sv...@ze...> - 2007-03-02 12:33:44
|
Author: ahajda Date: 2007-03-02 06:33:43 -0600 (Fri, 02 Mar 2007) New Revision: 4171 Modified: trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc trunk/wmi/Samba/source/wmi/pywmi.i trunk/wmi/pycom/win32com/client.py Log: Added handling of NULL cimarrays. Added SWbemServices.InstancesOf/IWbemServices::CreateInstanceEnum Modified: trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc =================================================================== --- trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc 2007-03-02 06:35:31 UTC (rev 4170) +++ trunk/wmi/Samba/source/librpc/idl/dcom_wmi.inc 2007-03-02 12:33:43 UTC (rev 4171) @@ -422,10 +422,10 @@ ); WERROR CreateInstanceEnum( -// [in] BSTR strFilter, // allow more things than a class name -// [in] long lFlags -// [in] IWbemContext* pCtx, -// [out] IEnumWbemClassObject** ppEnum + [in] BSTR strFilter, // allow more things than a class name + [in] long lFlags, + [in,unique] IWbemContext* pCtx, + [out] IEnumWbemClassObject** ppEnum ); WERROR CreateInstanceEnumAsync( Modified: trunk/wmi/Samba/source/wmi/pywmi.i =================================================================== --- trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 06:35:31 UTC (rev 4170) +++ trunk/wmi/Samba/source/wmi/pywmi.i 2007-03-02 12:33:43 UTC (rev 4171) @@ -69,6 +69,10 @@ PyObject *l, *o;\ uint32_t i;\ \ + if (!arr) {\ + Py_INCREF(Py_None);\ + return Py_None;\ + }\ l = PyList_New(arr->count);\ if (!l) return NULL;\ for (i = 0; i < arr->count; ++i) {\ @@ -256,6 +260,9 @@ WERROR IWbemServices_ExecNotificationQuery(struct IWbemServices *d, TALLOC_CTX *mem_ctx, const char *strQueryLanguage, const char *strQuery, int32_t lFlags, struct IWbemContext *pCtx, struct IEnumWbemClassObject **ppEnum); +WERROR IWbemServices_CreateInstanceEnum(struct IWbemServices *d, TALLOC_CTX *mem_ctx, const char *strClass, + int32_t lFlags, struct IWbemContext *pCtx, struct IEnumWbemClassObject **ppEnum); + WERROR IEnumWbemClassObject_Reset(struct IEnumWbemClassObject *d, TALLOC_CTX *mem_ctx); %typemap(in, numinputs=0) (struct WbemClassObject **apObjects, uint32_t *puReturned) (uint32_t uReturned) { Modified: trunk/wmi/pycom/win32com/client.py =================================================================== --- trunk/wmi/pycom/win32com/client.py 2007-03-02 06:35:31 UTC (rev 4170) +++ trunk/wmi/pycom/win32com/client.py 2007-03-02 12:33:43 UTC (rev 4171) @@ -31,6 +31,9 @@ def ExecNotificationQuery(self, strQuery, strQueryLanguage = "WQL", iFlags = (wbemFlagForwardOnly + wbemFlagReturnImmediately), objWbemNamedValueSet = None): enum = pywmi.IWbemServices_ExecNotificationQuery(self.services, strQueryLanguage, strQuery, iFlags, objWbemNamedValueSet) return SWbemEventSource(enum) + def InstancesOf(self, strClass, iFlags = wbemFlagReturnImmediately, objWbemNamedValueSet = None): + enum = pywmi.IWbemServices_CreateInstanceEnum(self.services, strClass, iFlags, objWbemNamedValueSet) + return SWbemObjectSet(enum, iFlags) class SWbemObjectSet: def __init__(self, enum, flags): @@ -94,6 +97,8 @@ self.Origin = None self.Qualifiers = SWbemQualifierSet() self.Value = None + def __str__(self): + return self.Value.__str__() class SWbemQualifierSet: pass |