From cc0c9893dcb39246c0ab90aa20ced2e942fc295f Mon Sep 17 00:00:00 2001 From: Juho Inkinen <34240031+juhoinkinen@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:46:02 +0300 Subject: [PATCH] Again: Refactor & simplify to address quality complains --- annif/cli_util.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/annif/cli_util.py b/annif/cli_util.py index 7a67d1f8a..af037208c 100644 --- a/annif/cli_util.py +++ b/annif/cli_util.py @@ -392,14 +392,18 @@ def _unzip_member( ) -> None: dest_path = os.path.join(datadir, member.filename) if os.path.exists(dest_path) and not force: - if _are_identical_member_and_file(member, dest_path): - logger.debug(f"Skipping unzip to {dest_path}; already in place") - else: - click.echo(f"Not overwriting {dest_path} (use --force to override)") + _handle_existing_file(member, dest_path) + return + logger.debug(f"Unzipping to {dest_path}") + zfile.extract(member, path=datadir) + _restore_timestamps(member, dest_path) + + +def _handle_existing_file(member: zipfile.ZipInfo, dest_path: str) -> None: + if _are_identical_member_and_file(member, dest_path): + logger.debug(f"Skipping unzip to {dest_path}; already in place") else: - logger.debug(f"Unzipping to {dest_path}") - zfile.extract(member, path=datadir) - _restore_timestamps(member, dest_path) + click.echo(f"Not overwriting {dest_path} (use --force to override)") def _are_identical_member_and_file(member: zipfile.ZipInfo, dest_path: str) -> bool: @@ -415,8 +419,7 @@ def _restore_timestamps(member: zipfile.ZipInfo, dest_path: str) -> None: def copy_project_config(src_path: str, force: bool) -> None: """Copy a given project configuration file to projects.d/ directory.""" project_configs_dest_dir = "projects.d" - if not os.path.isdir(project_configs_dest_dir): - os.mkdir(project_configs_dest_dir) + os.makedirs(project_configs_dest_dir, exist_ok=True) dest_path = os.path.join(project_configs_dest_dir, os.path.basename(src_path)) if os.path.exists(dest_path) and not force: