Skip to content

Commit a79103b

Browse files
committed
Create a class OutputRow for mslt_report i.e. rows in the outputfile
1 parent 477790b commit a79103b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

locidex/merge.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import re
55
import sys
66
import errno
7-
import csv
7+
import typing
88
from argparse import (ArgumentParser, ArgumentDefaultsHelpFormatter, RawDescriptionHelpFormatter)
99
from datetime import datetime
1010
from functools import partial
@@ -20,6 +20,11 @@
2020
logger = logging.getLogger(__name__)
2121
logging.basicConfig(filemode=sys.stderr, level=logging.INFO)
2222

23+
class OutputRow(typing.NamedTuple):
24+
sample_id: str
25+
keys: list[str]
26+
message: str
27+
2328
def add_args(parser=None):
2429
"""
2530
TODO disabling alignment until test data is prepared
@@ -67,7 +72,7 @@ def get_file_list(input_files):
6772
file_list.append(line)
6873
return file_list
6974

70-
def validate_input_file(data_in: dict, filename: str, db_version: str, db_name: str, perform_db_validation: bool, perform_profile_validation: bool, profile_refs_dict=dict) -> tuple[ReportData, str, str, list]:
75+
def validate_input_file(data_in: dict, filename: str, db_version: str, db_name: str, perform_db_validation: bool, perform_profile_validation: bool, profile_refs_dict:dict) -> tuple[ReportData, str, str, typing.Optional[OutputRow]]:
7176
"""
7277
Validate input data for usage verifying db_versions, db_names and MLST profiles are the same
7378
"""
@@ -240,7 +245,7 @@ def validate_profiles(mlst, sample_id, file_name):
240245

241246
# Create a report for all the samples that have their profiles modified in the output profile.tsv
242247
if MLST_message:
243-
mlst_report = [sample_id, keys, MLST_message]
248+
mlst_report = OutputRow(sample_id, keys, MLST_message)
244249
else:
245250
mlst_report = None
246251

0 commit comments

Comments
 (0)