continue attributes = dfect.defectStateAttributeValues hashResults = extractAttributes(attributes) if hashResults['DefectStatus'] == 'Fixed' or hashResults[ 'Classification'] == 'Intentional' or hashResults[ 'Classification'] == 'False Positive': snapshotInfo = WSCoverity.getSnapshotInformation( dfect.firstDetectedSnapshotId) dfect.firstDetected = snapshotInfo[0].dateCreated if not dfect.checkerName in checkerPropertiesHash.keys(): if dfect.checkerName[:2] == "PW": dfect.checkerName = "PW.*" checkerPropertiesHash[dfect.checkerName] = [] checkerPropertiesHash[ dfect.checkerName] = WSCoverity.getCheckerProperties( "PW.*", None, None, None, None, None, None) elif dfect.checkerName[:2] == "RW": dfect.checkerName = "RW.*" checkerPropertiesHash[dfect.checkerName] = [] checkerPropertiesHash[ dfect.checkerName] = WSCoverity.getCheckerProperties( "RW.*", None, None, None, None, None, None) else: checkerPropertiesHash[dfect.checkerName] = [] checkerPropertiesHash[ dfect.checkerName] = WSCoverity.getCheckerProperties( dfect.checkerName, dfect.checkerSubcategory, None, None, None, None, None) else: if dfect.checkerName[:2] == "PW":
worksheet1.set_column('L:N', 15) for dfect in defects: if not hasattr(dfect, 'firstDetectedSnapshotId'): continue attributes=dfect.defectStateAttributeValues hashResults=extractAttributes(attributes) if hashResults['DefectStatus'] == 'Fixed' or hashResults['Classification'] =='Intentional' or hashResults['Classification'] =='False Positive': snapshotInfo=WSCoverity.getSnapshotInformation(dfect.firstDetectedSnapshotId) dfect.firstDetected=snapshotInfo[0].dateCreated if not dfect.checkerName in checkerPropertiesHash.keys(): if dfect.checkerName[:2] == "PW": dfect.checkerName= "PW.*" checkerPropertiesHash[dfect.checkerName]=[] checkerPropertiesHash[dfect.checkerName]=WSCoverity.getCheckerProperties("PW.*",None,None,None,None,None,None) elif dfect.checkerName[:2] == "RW": dfect.checkerName= "RW.*" checkerPropertiesHash[dfect.checkerName]=[] checkerPropertiesHash[dfect.checkerName]=WSCoverity.getCheckerProperties("RW.*",None,None,None,None,None,None) else: checkerPropertiesHash[dfect.checkerName]=[] checkerPropertiesHash[dfect.checkerName]=WSCoverity.getCheckerProperties(dfect.checkerName,dfect.checkerSubcategory,None,None,None,None,None) else: if dfect.checkerName[:2] == "PW": dfect.checkerName= "PW.*" if dfect.checkerName[:2] == "RW": dfect.checkerName= "RW.*"
body += str(defectsCount) + " defects were" body += " assigned to you in project " + projectName + " within the past " if daysBefore == 1: body += "24 hours.</p>" else: body += str(daysBefore) + " days.</p>" body += "<br/><table border=\"1\"><tr bgcolor=\"#c0c0c0\"><th>CID</th><th>Component</th><th>Checker</th><th>Severity</th><th>Impact</th><th>Owner</th><th>First Detected</th><th>File</th></tr>" for defectValue in userdefectHash[key]: attributes = defectValue.defectStateAttributeValues hashResults = extractAttributes(attributes) if defectValue.checkerName[:2] == "PW": defectValue.checkerName = "PW.*" checkerproperties = WSCoverity.getCheckerProperties( "PW.*", None, None, None, None, None, None) elif dfect.checkerName[:2] == "RW": dfect.checkerName = "RW.*" checkerproperties = WSCoverity.getCheckerProperties( "RW.*", None, None, None, None, None, None) else: checkerproperties = WSCoverity.getCheckerProperties( defectValue.checkerName, defectValue.checkerSubcategory, None, None, None, None, None) if ConfigFile.getSSL == True: url = "http://" + str(ConfigFile.getHost()) + ":" + str( ConfigFile.getPort() ) + "/query/defects.htm?project=" + projectName + "&cid=" + str( defectValue.cid) else:
if daysBefore == 1: subject="New defects detected in the past 24 hours by ASQC" body+="24 hours.</p>" else: subject="New defects detected in the past "+daysBefore+" days by ASQC" body+=daysBefore+" days.</p>" body+="<br/><table border=\"1\"><tr bgcolor=\"#c0c0c0\"><th>CID</th><th>Component</th><th>Checker</th><th>Severity</th><th>Impact</th><th>Owner</th><th>First Detected</th><th>File</th></tr>" for defectValue in new_defects: attributes=defectValue.defectStateAttributeValues hashResults=extractAttributes(attributes) if defectValue.checkerName[:2] == "PW": defectValue.checkerName= "PW.*" checkerproperties=WSCoverity.getCheckerProperties("PW.*",None,None,None,None,None,None) elif dfect.checkerName[:2] == "RW": dfect.checkerName= "RW.*" checkerproperties=WSCoverity.getCheckerProperties("RW.*",None,None,None,None,None,None) else: checkerproperties=WSCoverity.getCheckerProperties(defectValue.checkerName,defectValue.checkerSubcategory,None,None,None,None,None) if ConfigFile.getSSL.lower() == 'true': url="https://"+str(ConfigFile.getHost())+":"+str(ConfigFile.getPort())+"/query/defects.htm?project="+projectName+"&cid="+str(defectValue.cid) else: url="http://"+str(ConfigFile.getHost())+":"+str(ConfigFile.getPort())+"/query/defects.htm?project="+projectName+"&cid="+str(defectValue.cid) body+="<tr><td><a href="+url+"\">"+str(defectValue.cid)+"</a></td><td>"+defectValue.componentName+"</td><td>"+defectValue.checkerName+"</td><td>"+hashResults['Severity']+"</td><td>"+checkerproperties[0].impact+"</td><td>"+hashResults['Owner']+"</td><td>"+str(defectValue.firstDetected)[:10]+"</td><td>"+defectValue.filePathname+"</td></tr>" body+="</table></body></html>"