From 0a82127e78e408ec65d67a88571dd8722db56081 Mon Sep 17 00:00:00 2001 From: Christian Oertlin Date: Wed, 18 Dec 2024 09:31:19 +0100 Subject: [PATCH] vincent review --- .../deliver_files_service/deliver_files_service.py | 2 +- cg/services/deliver_files/factory.py | 8 ++++---- .../file_formatter/destination/base_service.py | 8 ++++---- .../{component_files => files}/__init__.py | 0 .../{component_files => files}/abstract.py | 4 ++-- .../{component_files => files}/case_service.py | 4 ++-- .../concatenation_service.py | 8 ++++---- .../{component_files => files}/models.py | 0 .../{component_files => files}/mutant_service.py | 10 +++++----- .../{component_files => files}/sample_service.py | 4 ++-- .../file_formatter/path_name/flat_structure.py | 2 +- .../file_formatter/path_name/nested_structure.py | 2 +- .../delivery_fixtures/delivery_services_fixtures.py | 4 ++-- .../delivery_file_service/test_service_builder.py | 6 +++--- .../destination/test_formatting_service.py | 4 ++-- .../{component_files => files}/__init__.py | 0 .../test_formatter_utils.py | 12 ++++++------ 17 files changed, 39 insertions(+), 39 deletions(-) rename cg/services/deliver_files/file_formatter/{component_files => files}/__init__.py (100%) rename cg/services/deliver_files/file_formatter/{component_files => files}/abstract.py (88%) rename cg/services/deliver_files/file_formatter/{component_files => files}/case_service.py (96%) rename cg/services/deliver_files/file_formatter/{component_files => files}/concatenation_service.py (97%) rename cg/services/deliver_files/file_formatter/{component_files => files}/models.py (100%) rename cg/services/deliver_files/file_formatter/{component_files => files}/mutant_service.py (93%) rename cg/services/deliver_files/file_formatter/{component_files => files}/sample_service.py (95%) rename tests/services/file_delivery/file_formatter/{component_files => files}/__init__.py (100%) rename tests/services/file_delivery/file_formatter/{component_files => files}/test_formatter_utils.py (90%) diff --git a/cg/services/deliver_files/deliver_files_service/deliver_files_service.py b/cg/services/deliver_files/deliver_files_service/deliver_files_service.py index 0bbab6bc75..299f412ef8 100644 --- a/cg/services/deliver_files/deliver_files_service/deliver_files_service.py +++ b/cg/services/deliver_files/deliver_files_service/deliver_files_service.py @@ -75,7 +75,7 @@ def deliver_files_for_case( formatted_files: FormattedFiles = self.file_formatter.format_files( delivery_files=moved_files ) - + folders_to_deliver: set[Path] = set( [formatted_file.formatted_path.parent for formatted_file in formatted_files.files] ) diff --git a/cg/services/deliver_files/factory.py b/cg/services/deliver_files/factory.py index a2dfc353c5..829c597b90 100644 --- a/cg/services/deliver_files/factory.py +++ b/cg/services/deliver_files/factory.py @@ -25,14 +25,14 @@ from cg.services.deliver_files.file_formatter.destination.base_service import ( BaseDeliveryFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.case_service import CaseFileFormatter -from cg.services.deliver_files.file_formatter.component_files.mutant_service import ( +from cg.services.deliver_files.file_formatter.files.case_service import CaseFileFormatter +from cg.services.deliver_files.file_formatter.files.mutant_service import ( MutantFileFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.concatenation_service import ( +from cg.services.deliver_files.file_formatter.files.concatenation_service import ( SampleFileConcatenationFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( SampleFileFormatter, FileManager, ) diff --git a/cg/services/deliver_files/file_formatter/destination/base_service.py b/cg/services/deliver_files/file_formatter/destination/base_service.py index f7ba70a0a0..5b5b3493e8 100644 --- a/cg/services/deliver_files/file_formatter/destination/base_service.py +++ b/cg/services/deliver_files/file_formatter/destination/base_service.py @@ -9,14 +9,14 @@ FormattedFile, FormattedFiles, ) -from cg.services.deliver_files.file_formatter.component_files.case_service import CaseFileFormatter -from cg.services.deliver_files.file_formatter.component_files.mutant_service import ( +from cg.services.deliver_files.file_formatter.files.case_service import CaseFileFormatter +from cg.services.deliver_files.file_formatter.files.mutant_service import ( MutantFileFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.concatenation_service import ( +from cg.services.deliver_files.file_formatter.files.concatenation_service import ( SampleFileConcatenationFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( SampleFileFormatter, ) diff --git a/cg/services/deliver_files/file_formatter/component_files/__init__.py b/cg/services/deliver_files/file_formatter/files/__init__.py similarity index 100% rename from cg/services/deliver_files/file_formatter/component_files/__init__.py rename to cg/services/deliver_files/file_formatter/files/__init__.py diff --git a/cg/services/deliver_files/file_formatter/component_files/abstract.py b/cg/services/deliver_files/file_formatter/files/abstract.py similarity index 88% rename from cg/services/deliver_files/file_formatter/component_files/abstract.py rename to cg/services/deliver_files/file_formatter/files/abstract.py index cad774286f..07fc768122 100644 --- a/cg/services/deliver_files/file_formatter/component_files/abstract.py +++ b/cg/services/deliver_files/file_formatter/files/abstract.py @@ -5,8 +5,8 @@ from cg.services.deliver_files.file_formatter.destination.models import FormattedFile -class ComponentFormatter(ABC): - +class FileFormatter(ABC): + # rename to file formatter @abstractmethod def format_files( self, moved_files: list[CaseFile | SampleFile], delivery_path: Path diff --git a/cg/services/deliver_files/file_formatter/component_files/case_service.py b/cg/services/deliver_files/file_formatter/files/case_service.py similarity index 96% rename from cg/services/deliver_files/file_formatter/component_files/case_service.py rename to cg/services/deliver_files/file_formatter/files/case_service.py index 85d00518e3..deb1a1e4b0 100644 --- a/cg/services/deliver_files/file_formatter/component_files/case_service.py +++ b/cg/services/deliver_files/file_formatter/files/case_service.py @@ -2,7 +2,7 @@ from pathlib import Path from cg.services.deliver_files.file_fetcher.models import CaseFile -from cg.services.deliver_files.file_formatter.component_files.abstract import ComponentFormatter +from cg.services.deliver_files.file_formatter.files.abstract import FileFormatter from cg.services.deliver_files.file_formatter.destination.models import FormattedFile from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter from cg.services.deliver_files.file_formatter.path_name.nested_structure import ( @@ -13,7 +13,7 @@ LOG = logging.getLogger(__name__) -class CaseFileFormatter(ComponentFormatter): +class CaseFileFormatter(FileFormatter): """ Format the case files to deliver and return the formatted files. args: diff --git a/cg/services/deliver_files/file_formatter/component_files/concatenation_service.py b/cg/services/deliver_files/file_formatter/files/concatenation_service.py similarity index 97% rename from cg/services/deliver_files/file_formatter/component_files/concatenation_service.py rename to cg/services/deliver_files/file_formatter/files/concatenation_service.py index 78aee8de2e..9eb294edd3 100644 --- a/cg/services/deliver_files/file_formatter/component_files/concatenation_service.py +++ b/cg/services/deliver_files/file_formatter/files/concatenation_service.py @@ -3,8 +3,8 @@ import re from cg.constants.constants import ReadDirection, FileFormat, FileExtensions -from cg.services.deliver_files.file_formatter.component_files.abstract import ComponentFormatter -from cg.services.deliver_files.file_formatter.component_files.models import FastqFile +from cg.services.deliver_files.file_formatter.files.abstract import FileFormatter +from cg.services.deliver_files.file_formatter.files.models import FastqFile from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter from cg.services.fastq_concatenation_service.fastq_concatenation_service import ( @@ -13,7 +13,7 @@ from cg.services.fastq_concatenation_service.utils import generate_concatenated_fastq_delivery_path from cg.services.deliver_files.file_fetcher.models import SampleFile from cg.services.deliver_files.file_formatter.destination.models import FormattedFile -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( FileManager, ) from cg.services.deliver_files.file_formatter.path_name.nested_structure import ( @@ -24,7 +24,7 @@ LOG = logging.getLogger(__name__) -class SampleFileConcatenationFormatter(ComponentFormatter): +class SampleFileConcatenationFormatter(FileFormatter): """ Format the sample files to deliver, concatenate fastq files and return the formatted files. Used for workflows: Microsalt. diff --git a/cg/services/deliver_files/file_formatter/component_files/models.py b/cg/services/deliver_files/file_formatter/files/models.py similarity index 100% rename from cg/services/deliver_files/file_formatter/component_files/models.py rename to cg/services/deliver_files/file_formatter/files/models.py diff --git a/cg/services/deliver_files/file_formatter/component_files/mutant_service.py b/cg/services/deliver_files/file_formatter/files/mutant_service.py similarity index 93% rename from cg/services/deliver_files/file_formatter/component_files/mutant_service.py rename to cg/services/deliver_files/file_formatter/files/mutant_service.py index 5179d48322..910a72bd70 100644 --- a/cg/services/deliver_files/file_formatter/component_files/mutant_service.py +++ b/cg/services/deliver_files/file_formatter/files/mutant_service.py @@ -3,17 +3,17 @@ import re from cg.apps.lims import LimsAPI from cg.services.deliver_files.file_fetcher.models import SampleFile -from cg.services.deliver_files.file_formatter.component_files.abstract import ComponentFormatter +from cg.services.deliver_files.file_formatter.files.abstract import FileFormatter from cg.services.deliver_files.file_formatter.destination.models import FormattedFile -from cg.services.deliver_files.file_formatter.component_files.concatenation_service import ( +from cg.services.deliver_files.file_formatter.files.concatenation_service import ( SampleFileConcatenationFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import FileManager +from cg.services.deliver_files.file_formatter.files.sample_service import FileManager LOG = logging.getLogger(__name__) -class MutantFileFormatter(ComponentFormatter): +class MutantFileFormatter(FileFormatter): """ Formatter for file to deliver or upload for the Mutant workflow. Args: @@ -127,7 +127,7 @@ def _filter_unique_path_combinations( Filter out duplicates from the formatted files list. note: - During fastq concatenation Sample_R1 and Sample_R2 files are concatenated + During fastq concatenation Sample_L1_R1 and Sample_L2_R1 files are concatenated and moved to the same file Concat_Sample. This mean that there can be multiple entries for the same concatenated file in the formatted_files list coming from the SampleFileConcatenationService. diff --git a/cg/services/deliver_files/file_formatter/component_files/sample_service.py b/cg/services/deliver_files/file_formatter/files/sample_service.py similarity index 95% rename from cg/services/deliver_files/file_formatter/component_files/sample_service.py rename to cg/services/deliver_files/file_formatter/files/sample_service.py index 3320c75acb..276a3b2649 100644 --- a/cg/services/deliver_files/file_formatter/component_files/sample_service.py +++ b/cg/services/deliver_files/file_formatter/files/sample_service.py @@ -2,7 +2,7 @@ from pathlib import Path from cg.services.deliver_files.file_fetcher.models import SampleFile -from cg.services.deliver_files.file_formatter.component_files.abstract import ComponentFormatter +from cg.services.deliver_files.file_formatter.files.abstract import FileFormatter from cg.services.deliver_files.file_formatter.destination.models import FormattedFile from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter from cg.services.deliver_files.utils import FileManager @@ -10,7 +10,7 @@ LOG = logging.getLogger(__name__) -class SampleFileFormatter(ComponentFormatter): +class SampleFileFormatter(FileFormatter): """ Format the sample files to deliver. Used for all workflows except Microsalt and Mutant. diff --git a/cg/services/deliver_files/file_formatter/path_name/flat_structure.py b/cg/services/deliver_files/file_formatter/path_name/flat_structure.py index 5be3a5f391..f851a6bf7b 100644 --- a/cg/services/deliver_files/file_formatter/path_name/flat_structure.py +++ b/cg/services/deliver_files/file_formatter/path_name/flat_structure.py @@ -1,6 +1,6 @@ from pathlib import Path -from cg.services.deliver_files.file_formatter.component_files.sample_service import LOG +from cg.services.deliver_files.file_formatter.files.sample_service import LOG from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter diff --git a/cg/services/deliver_files/file_formatter/path_name/nested_structure.py b/cg/services/deliver_files/file_formatter/path_name/nested_structure.py index 66a2e61b1b..26ede0ea99 100644 --- a/cg/services/deliver_files/file_formatter/path_name/nested_structure.py +++ b/cg/services/deliver_files/file_formatter/path_name/nested_structure.py @@ -1,6 +1,6 @@ from pathlib import Path -from cg.services.deliver_files.file_formatter.component_files.sample_service import LOG +from cg.services.deliver_files.file_formatter.files.sample_service import LOG from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter diff --git a/tests/fixture_plugins/delivery_fixtures/delivery_services_fixtures.py b/tests/fixture_plugins/delivery_fixtures/delivery_services_fixtures.py index 95a8f752f7..60d898ed81 100644 --- a/tests/fixture_plugins/delivery_fixtures/delivery_services_fixtures.py +++ b/tests/fixture_plugins/delivery_fixtures/delivery_services_fixtures.py @@ -18,10 +18,10 @@ from cg.services.deliver_files.file_fetcher.raw_data_service import ( RawDataDeliveryFileFetcher, ) -from cg.services.deliver_files.file_formatter.component_files.case_service import ( +from cg.services.deliver_files.file_formatter.files.case_service import ( CaseFileFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( SampleFileFormatter, FileManager, ) diff --git a/tests/services/file_delivery/delivery_file_service/test_service_builder.py b/tests/services/file_delivery/delivery_file_service/test_service_builder.py index 283f93f7d2..29fe6d17af 100644 --- a/tests/services/file_delivery/delivery_file_service/test_service_builder.py +++ b/tests/services/file_delivery/delivery_file_service/test_service_builder.py @@ -18,13 +18,13 @@ ) from cg.services.deliver_files.file_fetcher.analysis_service import AnalysisDeliveryFileFetcher from cg.services.deliver_files.file_fetcher.raw_data_service import RawDataDeliveryFileFetcher -from cg.services.deliver_files.file_formatter.component_files.mutant_service import ( +from cg.services.deliver_files.file_formatter.files.mutant_service import ( MutantFileFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.concatenation_service import ( +from cg.services.deliver_files.file_formatter.files.concatenation_service import ( SampleFileConcatenationFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( SampleFileFormatter, ) from cg.services.deliver_files.file_formatter.path_name.abstract import PathNameFormatter diff --git a/tests/services/file_delivery/file_formatter/destination/test_formatting_service.py b/tests/services/file_delivery/file_formatter/destination/test_formatting_service.py index fe36730694..218ad69c58 100644 --- a/tests/services/file_delivery/file_formatter/destination/test_formatting_service.py +++ b/tests/services/file_delivery/file_formatter/destination/test_formatting_service.py @@ -70,10 +70,10 @@ def test_reformat_files( expected_formatted_files = FormattedFiles(files=files) with mock.patch( - "cg.services.deliver_files.file_formatter.component_files.sample_service.SampleFileFormatter.format_files", + "cg.services.deliver_files.file_formatter.files.sample_service.SampleFileFormatter.format_files", return_value=formatted_sample_files, ), mock.patch( - "cg.services.deliver_files.file_formatter.component_files.case_service.CaseFileFormatter.format_files", + "cg.services.deliver_files.file_formatter.files.case_service.CaseFileFormatter.format_files", return_value=formatted_case_files, ): # WHEN reformatting the delivery files diff --git a/tests/services/file_delivery/file_formatter/component_files/__init__.py b/tests/services/file_delivery/file_formatter/files/__init__.py similarity index 100% rename from tests/services/file_delivery/file_formatter/component_files/__init__.py rename to tests/services/file_delivery/file_formatter/files/__init__.py diff --git a/tests/services/file_delivery/file_formatter/component_files/test_formatter_utils.py b/tests/services/file_delivery/file_formatter/files/test_formatter_utils.py similarity index 90% rename from tests/services/file_delivery/file_formatter/component_files/test_formatter_utils.py rename to tests/services/file_delivery/file_formatter/files/test_formatter_utils.py index c42c8b92cd..2dab8edda7 100644 --- a/tests/services/file_delivery/file_formatter/component_files/test_formatter_utils.py +++ b/tests/services/file_delivery/file_formatter/files/test_formatter_utils.py @@ -3,8 +3,8 @@ import pytest from pathlib import Path -from cg.services.deliver_files.file_formatter.component_files.abstract import ComponentFormatter -from cg.services.deliver_files.file_formatter.component_files.mutant_service import ( +from cg.services.deliver_files.file_formatter.files.abstract import FileFormatter +from cg.services.deliver_files.file_formatter.files.mutant_service import ( MutantFileFormatter, ) from cg.services.fastq_concatenation_service.fastq_concatenation_service import ( @@ -15,13 +15,13 @@ SampleFile, ) from cg.services.deliver_files.file_formatter.destination.models import FormattedFile -from cg.services.deliver_files.file_formatter.component_files.case_service import ( +from cg.services.deliver_files.file_formatter.files.case_service import ( CaseFileFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.concatenation_service import ( +from cg.services.deliver_files.file_formatter.files.concatenation_service import ( SampleFileConcatenationFormatter, ) -from cg.services.deliver_files.file_formatter.component_files.sample_service import ( +from cg.services.deliver_files.file_formatter.files.sample_service import ( SampleFileFormatter, FileManager, ) @@ -73,7 +73,7 @@ def test_component_formatters( moved_files: list[CaseFile | SampleFile], expected_formatted_files: list[FormattedFile], - file_formatter: ComponentFormatter, + file_formatter: FileFormatter, request, ): # GIVEN existing case files, a case file formatter and a ticket directory path and a customer inbox