Add explicit column ordering to to_csv writes

in interfaces:
sarif-pad-aggregates
sarif-extract-scans
This commit is contained in:
Kristen Newbury
2023-05-29 08:58:29 -04:00
parent 9407e5b00f
commit a3aed444c1
3 changed files with 66 additions and 2 deletions

View File

@@ -16,6 +16,7 @@ import pathlib
import sarif_cli.table_joins as tj import sarif_cli.table_joins as tj
import sarif_cli.table_joins_CLI as tj_CLI import sarif_cli.table_joins_CLI as tj_CLI
import sarif_cli.scan_tables as st import sarif_cli.scan_tables as st
from sarif_cli import columns
import sys import sys
# #
@@ -253,7 +254,7 @@ p.mkdir(exist_ok=True)
def write(path, frame): def write(path, frame):
with p.joinpath(path + ".csv").open(mode='wb') as fh: with p.joinpath(path + ".csv").open(mode='wb') as fh:
frame.to_csv(fh, index=False, quoting=csv.QUOTE_NONNUMERIC) frame.to_csv(fh, index=False, columns=columns.columns[path] , quoting=csv.QUOTE_NONNUMERIC)
def _write_dataframes_of(tables_dataclass): def _write_dataframes_of(tables_dataclass):
for field in dc.fields(tables_dataclass): for field in dc.fields(tables_dataclass):

View File

@@ -11,6 +11,7 @@ import random
from sarif_cli import scan_tables from sarif_cli import scan_tables
from sarif_cli import table_joins from sarif_cli import table_joins
from sarif_cli import columns
# #
# Handle arguments # Handle arguments
@@ -133,4 +134,4 @@ for file_prefix in _extract_scans_tables.keys():
frame = (_extract_scans_tables[file_prefix][0] frame = (_extract_scans_tables[file_prefix][0]
.astype(_table_output_dtypes[file_prefix])) .astype(_table_output_dtypes[file_prefix]))
with open(csv_fname, 'w') as fh: with open(csv_fname, 'w') as fh:
frame.to_csv(fh, index=False, quoting=csv.QUOTE_NONNUMERIC) frame.to_csv(fh, index=False, columns=columns.columns[file_prefix], quoting=csv.QUOTE_NONNUMERIC)

62
sarif_cli/columns.py Normal file
View File

@@ -0,0 +1,62 @@
columns = {
"scans" : [
"id",
"commit_id",
"project_id",
"db_create_start",
"db_create_stop",
"scan_start_date",
"scan_stop_date",
"tool_name" ,
"tool_version" ,
"tool_query_commit_id",
"sarif_file_name" ,
"results_count" ,
"rules_count" ,
],
"results" : [
'id',
'scan_id',
'query_id',
'query_kind',
'query_precision',
'query_severity',
'query_tags',
'codeFlow_id',
'message' ,
'message_object' ,
'location' ,
'source_startLine',
'source_startCol',
'source_endLine' ,
'source_endCol' ,
'sink_startLine' ,
'sink_startCol',
'sink_endLine' ,
'sink_endCol' ,
'source_object' ,
'sink_object'
],
"projects" : [
"id" ,
"project_name" ,
"creation_date",
"repo_url" ,
"primary_language" ,
"languages_analyzed"
],
"codeflows" : [
"codeflow_id",
"codeflow_index",
"threadflow_index",
"location_index",
"endColumn",
"endLine",
"startColumn",
"startLine",
"artifact_index",
"uri",
"uriBaseId",
"message"
]
}