From 862de9ea8d10a14fa4c70925af4452d426670165 Mon Sep 17 00:00:00 2001 From: Dan Fornika Date: Thu, 18 Jan 2024 15:37:40 -0800 Subject: [PATCH] Only proceed with collecting libraries if samplesheet validation passes (#30) --- auto_fastq_symlink/core.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/auto_fastq_symlink/core.py b/auto_fastq_symlink/core.py index 995c832..88e166a 100644 --- a/auto_fastq_symlink/core.py +++ b/auto_fastq_symlink/core.py @@ -317,19 +317,19 @@ def find_runs(config: dict[str, object]) -> Iterable[Optional[dict[str, object]] run['parsed_samplesheet'] = samplesheet_to_parse try: samplesheet = ss.parse_samplesheet(samplesheet_to_parse, run['instrument_type']) + libraries = find_libraries(run, samplesheet, fastq_extensions) + for library in libraries: + if library['project_id'] in config['project_id_translation']: + samplesheet_project_id = library['project_id'] + symlinking_project_id = config['project_id_translation'][samplesheet_project_id] + library['project_id'] = symlinking_project_id + elif library['project_id'] == '': + library['project_id'] = None + run['libraries'] = libraries + yield run except jsonschema.ValidationError as e: yield None - libraries = find_libraries(run, samplesheet, fastq_extensions) - for library in libraries: - if library['project_id'] in config['project_id_translation']: - samplesheet_project_id = library['project_id'] - symlinking_project_id = config['project_id_translation'][samplesheet_project_id] - library['project_id'] = symlinking_project_id - elif library['project_id'] == '': - library['project_id'] = None - run['libraries'] = libraries - - yield run + def find_symlinks(projects):