From 8ad383c2175d97331fcc90943c3e803f1139d826 Mon Sep 17 00:00:00 2001 From: Vitaliy Mysak Date: Mon, 28 Aug 2023 16:03:58 -0700 Subject: [PATCH] Make samplesheet parser tolerable to underscores in enum names Solves #888 --- micall/tests/test_sample_sheet_parser.py | 2 +- micall/utils/sample_sheet_parser.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/micall/tests/test_sample_sheet_parser.py b/micall/tests/test_sample_sheet_parser.py index 05ec438af..8e329155a 100644 --- a/micall/tests/test_sample_sheet_parser.py +++ b/micall/tests/test_sample_sheet_parser.py @@ -731,7 +731,7 @@ def test_extra_commas(self): self.assertEqual(ss["Experiment Name"], "10-Jul-2014") - @unittest.expectedFailure + # @unittest.expectedFailure def test_underscores_in_sample_name(self): """ Extracts the correct project code having multiple options. diff --git a/micall/utils/sample_sheet_parser.py b/micall/utils/sample_sheet_parser.py index 45ce675dd..2c590c99e 100755 --- a/micall/utils/sample_sheet_parser.py +++ b/micall/utils/sample_sheet_parser.py @@ -179,9 +179,11 @@ def sample_sheet_parser(handle): samp, proj, val = None, None, None if sample_sheet_version == 1: sj, val = elem.split(':') - samp, proj = sj.split(project_delimiter_v1) + components = sj.split(project_delimiter_v1) + samp, proj = (project_delimiter_v1.join(components[:-1]), components[-1]) elif sample_sheet_version == 2: - samp, proj, val = elem.split(project_delimiter_v2) + components = elem.split(project_delimiter_v2) + samp, proj, val = (project_delimiter_v2.join(components[:-2]), components[-2], components[-1]) if samp == entry['sample'] and proj == entry['project']: if name == 'Research':