From dec3528eedd563379a05bbb68b6c1855b619bef1 Mon Sep 17 00:00:00 2001 From: Thomas Sell Date: Wed, 10 May 2023 10:54:29 +0200 Subject: [PATCH] make flake8 happy --- cubi_tk/sodar/__init__.py | 2 +- cubi_tk/sodar/ingest.py | 31 ++++++++++++++++++------------- tests/test_sodar_ingest.py | 5 ++--- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/cubi_tk/sodar/__init__.py b/cubi_tk/sodar/__init__.py index 699914e5..88575ad0 100644 --- a/cubi_tk/sodar/__init__.py +++ b/cubi_tk/sodar/__init__.py @@ -56,8 +56,8 @@ from .add_ped import setup_argparse as setup_argparse_add_ped from .check_remote import setup_argparse as setup_argparse_check_remote from .download_sheet import setup_argparse as setup_argparse_download_sheet -from .ingest_fastq import setup_argparse as setup_argparse_ingest_fastq from .ingest import setup_argparse as setup_argparse_ingest +from .ingest_fastq import setup_argparse as setup_argparse_ingest_fastq from .lz_create import setup_argparse as setup_argparse_lz_create from .lz_list import setup_argparse as setup_argparse_lz_list from .lz_move import setup_argparse as setup_argparse_lz_move diff --git a/cubi_tk/sodar/ingest.py b/cubi_tk/sodar/ingest.py index d931d222..9588e659 100644 --- a/cubi_tk/sodar/ingest.py +++ b/cubi_tk/sodar/ingest.py @@ -1,20 +1,21 @@ """``cubi-tk sodar ingest``: add arbitrary files to SODAR""" import argparse +import getpass import os -import sys from pathlib import Path -import getpass +import sys import typing -import attr +import attr from irods.session import iRODSSession from logzero import logger from sodar_cli import api -from ..common import load_toml_config, is_uuid, compute_md5_checksum, sizeof_fmt -from ..snappy.itransfer_common import TransferJob from tqdm import tqdm +from ..common import compute_md5_checksum, is_uuid, load_toml_config, sizeof_fmt +from ..snappy.itransfer_common import TransferJob + @attr.s(frozen=True, auto_attribs=True) class Config: @@ -125,7 +126,7 @@ def setup_argparse(cls, parser: argparse.ArgumentParser) -> None: def get_irods_error(cls, e: Exception): """Return logger friendly iRODS exception.""" es = str(e) - return es if es != "None" else e.__class__.__name__ + return es if es else e.__class__.__name__ @classmethod def run( @@ -181,8 +182,8 @@ def execute(self): coll = irods_session.collections.get(self.lz_irods_path) for c in coll.subcollections: collections.append(c.name) - except: - logger.error("Failed to query landing zone collections.") + except Exception as e: + logger.error(f"Failed to query landing zone collections: {self.get_irods_error(e)}") sys.exit(1) finally: irods_session.cleanup() @@ -261,9 +262,10 @@ def execute(self): file_log.set_description_str(f"Current file: {job.path_src}") irods_session.data_objects.put(job.path_src, job.path_dest) t.update(job.bytes) - except: - logger.error("Problem during transfer of " + job.path_src) - raise + except Exception as e: + logger.error(f"Problem during transfer of {job.path_src}.") + logger.error(self.get_irods_error(e)) + sys.exit(1) finally: irods_session.cleanup() t.clear() @@ -284,8 +286,11 @@ def build_file_list(self): for src in source_paths: try: abspath = src.resolve() - except: - logger.error("File not found:", src.name) + except FileNotFoundError: + logger.error(f"File not found: {src.name}") + continue + except RuntimeError: + logger.error(f"Infinite loop: {src.name}") continue if src.is_dir(): diff --git a/tests/test_sodar_ingest.py b/tests/test_sodar_ingest.py index 1fa9540c..bd89996e 100644 --- a/tests/test_sodar_ingest.py +++ b/tests/test_sodar_ingest.py @@ -1,9 +1,8 @@ """Tests for ``cubi_tk.sodar.ingest``.""" import pytest -from unittest import mock -from pyfakefs import fake_filesystem, fake_pathlib -from cubi_tk.__main__ import main, setup_argparse + +from cubi_tk.__main__ import setup_argparse def test_run_sodar_ingest_help(capsys):