summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Saeid Farivar Asanjan <farivar@google.com> 2020-11-18 00:29:43 +0000
committer Saeid Farivar Asanjan <farivar@google.com> 2020-11-24 05:46:33 +0000
commit75dc8d2dab175fdae054272bfcf25e13f7781d0f (patch)
treecff35540164a8b92cc46f794b18c43ef869f2034
parent53ccfc38aa9c8c02e735f38f4ffdbd837846737b (diff)
Dump a new CSV with warning messages
Bug: 171068870 Test: manual Change-Id: Ibb528940daf9a6cd99ece8e5a63d67aacdfc131c
-rw-r--r--tools/warn/html_writer.py25
-rwxr-xr-xtools/warn/warn_common.py3
2 files changed, 28 insertions, 0 deletions
diff --git a/tools/warn/html_writer.py b/tools/warn/html_writer.py
index b8d3fe6f5d..026a6d0bca 100644
--- a/tools/warn/html_writer.py
+++ b/tools/warn/html_writer.py
@@ -359,6 +359,25 @@ def dump_csv(csvwriter, warn_patterns):
csvwriter.writerow([total, '', 'All warnings'])
+def dump_csv_with_description(csvwriter, warning_records, warning_messages,
+ warn_patterns, project_names):
+ """Outputs all the warning messages by project."""
+ csv_output = []
+ for record in warning_records:
+ project_name = project_names[record[1]]
+ pattern = warn_patterns[record[0]]
+ severity = pattern['severity'].header
+ category = pattern['category']
+ description = pattern['description']
+ warning = warning_messages[record[2]]
+ csv_output.append([project_name, severity,
+ category, description,
+ warning])
+ csv_output = sorted(csv_output)
+ for output in csv_output:
+ csvwriter.writerow(output)
+
+
# Return s with escaped backslash and quotation characters.
def escape_string(s):
return s.replace('\\', '\\\\').replace('"', '\\"')
@@ -666,6 +685,12 @@ def write_out_csv(flags, warn_patterns, warning_messages, warning_links,
with open(flags.csvpath, 'w') as f:
dump_csv(csv.writer(f, lineterminator='\n'), warn_patterns)
+ if flags.csvwithdescription:
+ with open(flags.csvwithdescription, 'w') as f:
+ dump_csv_with_description(csv.writer(f, lineterminator='\n'),
+ warning_records, warning_messages,
+ warn_patterns, project_names)
+
if flags.gencsv:
dump_csv(csv.writer(sys.stdout, lineterminator='\n'), warn_patterns)
else:
diff --git a/tools/warn/warn_common.py b/tools/warn/warn_common.py
index 68ed995c00..b2dd8abffc 100755
--- a/tools/warn/warn_common.py
+++ b/tools/warn/warn_common.py
@@ -77,6 +77,9 @@ def parse_args(use_google3):
help='Save CSV warning file to the passed path')
parser.add_argument('--gencsv', action='store_true',
help='Generate CSV file with number of various warnings')
+ parser.add_argument('--csvwithdescription', default='',
+ help="""Save CSV warning file to the passed path this csv
+ will contain all the warning descriptions""")
parser.add_argument('--byproject', action='store_true',
help='Separate warnings in HTML output by project names')
parser.add_argument('--url', default='',