Package Products :: Package ZenWin :: Module WMIPlugin
[hide private]
[frames] | no frames]

Source Code for Module Products.ZenWin.WMIPlugin

 1  ########################################################################### 
 2  # 
 3  # This program is part of Zenoss Core, an open source monitoring platform. 
 4  # Copyright (C) 2007, Zenoss Inc. 
 5  # 
 6  # This program is free software; you can redistribute it and/or modify it 
 7  # under the terms of the GNU General Public License version 2 or (at your 
 8  # option) any later version as published by the Free Software Foundation. 
 9  # 
10  # For complete information please visit: http://www.zenoss.com/oss/ 
11  # 
12  ########################################################################### 
13   
14  from Products.DataCollector.plugins.CollectorPlugin import CollectorPlugin 
15   
16 -class WMIPlugin(CollectorPlugin):
17 """ 18 A WMIPlugin defines a native Python collection routine and a parsing 19 method to turn the returned data structure into a datamap. A valid 20 WMIPlugin must implement the process method. 21 """ 22 transport = "wmi" 23 deviceProperties = CollectorPlugin.deviceProperties + ( 24 'zWmiMonitorIgnore', 25 'zWinUser', 26 'zWinPassword', 27 'zWinEventlogMinSeverity', 28 'zWinEventlogClause', 29 ) 30
31 - def condition(self, device, log):
32 return not getattr(device, 'zWmiMonitorIgnore', True)
33
34 - def copyDataToProxy(self, device, proxy):
35 for prop in self.deviceProperties: 36 if hasattr(device, prop): 37 setattr(proxy, prop, getattr(device, prop)) 38 # Do any other prep of plugin here 39 setattr(proxy, 'lastChange', getattr(device, '_lastChange', ''))
40
41 - def queries(self):
42 raise NotImplementedError
43
44 - def preprocess(self, results, log):
45 if isinstance(results, Exception): 46 log.error(results) 47 return None 48 return results
49