Changeset 6 for trunk/daemon
- Timestamp:
- 03/21/05 12:13:03 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/daemon/togad.py
r5 r6 6 6 import sys 7 7 8 class GangliaXMLHandler(ContentHandler): 8 DEBUG = 1 9 10 class GangliaXMLHandler( ContentHandler ): 9 11 """ 10 12 Parse/Handle XML 11 13 """ 12 14 13 def __init__ (self, searchTerm): 14 self.isHostElement, self.isxReboundsElement = 0, 0; 15 metrics = [ ] 16 17 #def __init__ ( self ): 18 #self.isHostElement, self.isMetricElement, self.isGridElement, self.isClusterElement = 0, 0, 0, 0 19 #self.isGangliaXMLElement = 0 15 20 16 def startElement( self, name, attrs):21 def startElement( self, name, attrs ): 17 22 18 if name == 'player': 19 self.playerName = attrs.get('name',"") 20 self.playerAge = attrs.get('age',"") 21 self.playerHeight = attrs.get('height',"") 22 elif name == 'points': 23 self.isPointsElement= 1; 24 self.playerPoints = ""; 25 elif name == 'rebounds': 26 self.isReboundsElement = 1; 27 self.playerRebounds = ""; 23 if name == 'ganglia_xml': 24 self.XMLSource = attrs.get('source',"") 25 self.gangliaVersion = attrs.get('version',"") 26 27 elif name == 'grid': 28 self.gridName = attrs.get('name',"") 29 30 elif name == 'cluster': 31 self.clusterName = attrs.get('name',"") 32 33 elif name == 'host': 34 self.hostName = attrs.get('name',"") 35 self.hostIp = attrs.get('ip',"") 36 self.hostReported = attrs.get('reported',"") 37 38 elif name == 'metric': 39 myMetric = { } 40 myMetric['name'] = attrs.get('name',"") 41 myMetric['val'] = attrs.get('val',"") 42 43 self.metrics.append( myMetric ) 44 if DEBUG: print ' | | |-metric: %s:%s' %( myMetric['name'], myMetric['val'] ) 45 28 46 return 29 47 30 def characters (self, ch): 31 if self.isPointsElement== 1: 32 self.playerPoints += ch 33 if self.isReboundsElement == 1: 34 self.playerRebounds += ch 48 def endElement( self, name ): 49 if name == 'ganglia_xml': 50 if DEBUG: print 'Found XML data: source %s version %s' %( self.XMLSource, self.gangliaVersion ) 35 51 36 def endElement(self, name): 37 if name == 'points': 38 self.isPointsElement= 0 39 if name == 'rebounds': 40 self.inPlayersContent = 0 41 if name == 'player' and self.searchTerm== self.playerName : 42 print '<h2>Statistics for player:' , self.playerName, '</h2><br>(age:', self.playerAge , 'height' , self.playerHeight , ")<br>" 43 print 'Match average:', self.playerPoints , 'points,' , self.playerRebounds, 'rebounds' 52 if name == 'grid': 53 if DEBUG: print '`-Grid found: %s' %( self.gridName ) 54 55 if name == 'cluster': 56 if DEBUG: print ' |-Cluster found: %s' %( self.clusterName ) 57 58 if name == 'host': 59 if DEBUG: print ' | |-Host found: %s - ip %s reported %s' %( self.hostName, self.hostIp, self.hostReported ) 60 61 #if name == 'metric': 44 62 45 63 class GangliaXMLGatherer: … … 73 91 sys.exit(1) 74 92 75 return s. fileno()93 return s.makefile() 76 94 77 95 #s.send('Hello, world') … … 85 103 """ 86 104 87 myXMLGatherer = GangliaXMLGatherer( localhost, 8651 )105 myXMLGatherer = GangliaXMLGatherer( 'localhost', 8651 ) 88 106 89 107 myParser = make_parser()
Note: See TracChangeset
for help on using the changeset viewer.