diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-09-30 16:37:50 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-09-30 16:37:50 +0000 |
commit | fe6fa074db94fa52a907e8fb2c8414e4c165f11f (patch) | |
tree | 17186136be9ce145999894b158b48936a61bd0e4 /tools/scan-view/Reporter.py | |
parent | 7000bf8f87850e527eec41ca2763267f4f563566 (diff) |
Add "SelectionParameter" class to represent drop-down boxes.
Added "Classification" field to Radar filing.
Modified FileRadar.scpt to take the classification as an argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56854 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/scan-view/Reporter.py')
-rw-r--r-- | tools/scan-view/Reporter.py | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/tools/scan-view/Reporter.py b/tools/scan-view/Reporter.py index ba7b733be2..2f05fdfd83 100644 --- a/tools/scan-view/Reporter.py +++ b/tools/scan-view/Reporter.py @@ -37,24 +37,34 @@ from email.mime.text import MIMEText class ReporterParameter: def __init__(self, n): self.name = n - def getName(self): return self.name - + def getValue(self,r,bugtype,getConfigOption): + return getConfigOption(r.getName(),self.getName()) def saveConfigValue(self): return True class TextParameter (ReporterParameter): - def getValue(self,r,bugtype,getConfigOption): - return getConfigOption(r.getName(),self.getName()) - def getHTML(self,r,bugtype,getConfigOption): return """\ <tr> - <td class="form_clabel">%s:</td> - <td class="form_value"><input type="text" name="%s_%s" value="%s"></td> +<td class="form_clabel">%s:</td> +<td class="form_value"><input type="text" name="%s_%s" value="%s"></td> </tr>"""%(self.getName(),r.getName(),self.getName(),self.getValue(r,bugtype,getConfigOption)) +class SelectionParameter (ReporterParameter): + def __init__(self, n, values): + ReporterParameter.__init__(self,n) + self.values = values + + def getHTML(self,r,bugtype,getConfigOption): + return """\ +<tr> +<td class="form_clabel">%s:</td><td class="form_value"><select name="%s_%s"> +%s +</select></td>"""%(self.getName(),r.getName(),self.getName(),'\n'.join(["""\ +<option value="%s">%s</option>"""%(o[0],o[1]) for o in self.values])) + #===------------------------------------------------------------------------===# # Reporters #===------------------------------------------------------------------------===# @@ -156,11 +166,16 @@ class RadarReporter: return 'Radar' def getParameters(self): - return map(lambda x:TextParameter(x),['Component', 'Component Version']) + return [ TextParameter('Component'), TextParameter('Component Version'), + SelectionParameter('Classification', + [ ['1', 'Security'], ['2', 'Crash/Hang/Data Loss'], + ['3', 'Performance'], ['4', 'UI/Usability'], + ['6', 'Serious Bug'], ['7', 'Other'] ]) ] def fileReport(self, report, parameters): component = parameters.get('Component', '') componentVersion = parameters.get('Component Version', '') + classification = parameters.get('Classification', '') personID = "" diagnosis = "" config = "" @@ -171,13 +186,12 @@ class RadarReporter: componentVersion = 'X' script = os.path.join(os.path.dirname(__file__),'Resources/FileRadar.scpt') - args = ['osascript', script, component, componentVersion, personID, report.title, + args = ['osascript', script, component, componentVersion, classification, personID, report.title, report.description, diagnosis, config] + map(os.path.abspath, report.files) # print >>sys.stderr, args - try: - p = subprocess.Popen(args, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - except: + try: + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except: raise ReportFailure("Unable to file radar (AppleScript failure).") data, err = p.communicate() res = p.wait() |