From e20c912fb08a0732211300404e7778cb69abc678 Mon Sep 17 00:00:00 2001 From: Robert Rosca <robert.rosca@xfel.eu> Date: Wed, 11 May 2022 17:08:05 +0200 Subject: [PATCH] Simplify checks --- webservice/webservice.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/webservice/webservice.py b/webservice/webservice.py index ffcdb21a9..57644a00a 100644 --- a/webservice/webservice.py +++ b/webservice/webservice.py @@ -586,19 +586,21 @@ async def wait_on_transfer( # Resolving is done here in case the symlink target changed during the loop run_dir = run_dir.resolve() - # TODO: this should use path.is_relative_to, but that is isn't available - # in python 3.8 - gpfs_transfer_done = ( - str(run_dir).startswith("/gpfs/exfel/d") - and any("XFEL_GPFS_OFFLINE" in r for r in repositories) - ) + required_repository = None + logging.debug(f"{run_dir.parts}") + if run_dir.parts[1:4] == ("pnfs", "xfel.eu", "exfel"): + required_repository = "DESY_DCACHE_RAW" + elif run_dir.parts[1:4] == ("gpfs", "exfel", "d"): + required_repository = "XFEL_GPFS_OFFLINE" + else: + logging.warning( + f"Proposal {proposal} run {run} resolved path is not relative to" + f"`/pnfs/xfel.eu/exfel` or `/gpfs/exfel/d`: {run_dir}" + ) - dcache_transfer_done = ( - str(run_dir).startswith("/pnfs") - and any("DESY_DCACHE" in r for r in repositories) - ) + logging.debug(f"{required_repository=}") - if gpfs_transfer_done or dcache_transfer_done: + if any(required_repository in r for r in repositories): return repositories logging.info( -- GitLab