From 1f4fcff5dd14d2c2d22bb80c42f038dd9c81a27b Mon Sep 17 00:00:00 2001 From: torzdf <36920800+torzdf@users.noreply.github.com> Date: Sun, 19 May 2024 11:04:48 +0100 Subject: [PATCH] bugfix: Alignments, prevent duplicate backup alignment file names --- lib/align/alignments.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/align/alignments.py b/lib/align/alignments.py index 0901625..68bdbce 100644 --- a/lib/align/alignments.py +++ b/lib/align/alignments.py @@ -796,7 +796,15 @@ class _IO(): now = datetime.now().strftime("%Y%m%d_%H%M%S") src = self._file split = os.path.splitext(src) - dst = split[0] + "_" + now + split[1] + dst = f"{split[0]}_{now}{split[1]}" + idx = 1 + while True: + if not os.path.exists(dst): + break + logger.debug("Backup file %s exists. Incrementing", dst) + dst = f"{split[0]}_{now}({idx}){split[1]}" + idx += 1 + logger.info("Backing up original alignments to '%s'", dst) os.rename(src, dst) logger.debug("Backed up alignments")