buildframework/helium/tools/relnotes/readHTML.py
changeset 307 22ecbfc20eb4
parent 215 b61c19d4168d
parent 217 0f5e3a7fb6af
child 308 7830b8253b5a
--- a/buildframework/helium/tools/relnotes/readHTML.py	Wed Feb 17 16:10:19 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-#============================================================================ 
-#Name        : readHTML.py 
-#Part of     : Helium 
-
-#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#All rights reserved.
-#This component and the accompanying materials are made available
-#under the terms of the License "Eclipse Public License v1.0"
-#which accompanies this distribution, and is available
-#at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-#Initial Contributors:
-#Nokia Corporation - initial contribution.
-#
-#Contributors:
-#
-#Description:
-#===============================================================================
-
-# Name: readHTML.py
-# Synopsis: This script creates a CSV file from the Log File Summary (.html)
-
-import htmllib
-import sys
-import formatter
-import re
-
-class HTMLComponent(object):
-    """
-    Represents a component in the log file summary
-    """
-    def __init__(self):
-        self._name = ''
-        self._errorCount = 0
-        self._warningCount = 0
-        
-    def getCSV(self):
-        return self._name + ',' + str(self._errorCount) + ',' + str(self._warningCount)
-        
-    def __setName(self, n):
-        self._name = n
-    def __setErrorCount(self, n):
-        self._errorCount = n
-    def __setWarningCount(self, n):
-        self._warningCount = n
-        
-    name = property(None, __setName)    
-    errorCount = property(None, __setErrorCount)
-    warningCount = property(None, __setWarningCount)
-
-class LogHTMLParser(htmllib.HTMLParser):
-    """
-    Parse the scan2log HTML file into CSV
-    """
-    def __init__(self, verbose=0):
-        self.anchors = {}
-        f = formatter.NullFormatter()
-        htmllib.HTMLParser.__init__(self, f, verbose)
-        
-        self.state = -1 #represents column, 0 is first
-        self.printFlag = False
-        self.errorCount = 0
-        self.warningCount = 0
-        
-        self._components = []
-        self.component = None
-        
-    def __getComponents(self):
-        return self._components
-        
-    components = property(__getComponents)
-        
-    def handle_data(self, text):
-        text = text.strip()
-        
-        #ignore plain text links that appear eg. [9]
-        p = re.compile('\[[0-9]*\]')
-        if not text or p.match(text):
-            return
-      
-        #start of area to parse
-        if (text == 'Component'):
-            self.state = 0
-  
-        #end of area to parse
-        if (text == 'By Command'):
-            self.state = -1
-          
-        #reset column if we get lost
-        #if (self.state > 0 and not text.isdigit()):
-        #    self.state = 0
-        
-        if (self.state == 0):
-            self.component = HTMLComponent()
-            self.component.name = text
-        if (text.isdigit() and self.state == 2):
-            self.errorCount += int(text)
-            self.component.errorCount = text
-        if (text.isdigit() and self.state == 3):
-            self.warningCount += int(text)
-            self.component.warningCount = text
-            
-        #if there are more than/ equal 5 errors or 50 warnings we print this row
-        if (text.isdigit() and ((self.state == 2 and (int(text) >= 5)) or 
-          (self.state == 3 and (int(text) >= 50)))):
-            self.printFlag = True
-
-        if (self.state == 5):
-            if (self.printFlag):                
-                self.components.append(self.component)
-                
-            self.printFlag = False
-          
-        if (self.state >= 0):
-            self.state += 1
-            self.state %= 6
-        
-def main():    
-    if len(sys.argv) != 3:
-        print "Usage: readHTML.pl LogFile.html errors.csv"
-        sys.exit(1)
-    
-    parser = LogHTMLParser()
-    
-    inputFile = file( sys.argv[1], 'rb' )
-    outFile = file( sys.argv[2], 'w' )
-    
-    outFile.write("Component,Errors (more than 5),Warnings (more than 50)\n")
-
-    parser.feed(inputFile.read())
-
-    for c in parser.components:
-        outFile.write(c.getCSV() + "\n")
-    
-    outFile.write("Total," + str(parser.errorCount) + "," + str(parser.warningCount) + "\n")
-    
-    inputFile.close()
-    outFile.close()
-    parser.close()
-        
-if __name__ == '__main__' :
-    main()
\ No newline at end of file