From 642d807d61911cb4339de147fc72c150a386c4e1 Mon Sep 17 00:00:00 2001 From: Fuxino Date: Sat, 15 Apr 2023 21:01:01 +0200 Subject: [PATCH] Use destination if input is symlink --- simple_backup.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/simple_backup.py b/simple_backup.py index 5c73ab7..1dffb57 100755 --- a/simple_backup.py +++ b/simple_backup.py @@ -37,6 +37,17 @@ class Backup: return False + for i in self.inputs: + if os.path.islink(i): + try: + i_new = os.readlink(i) + logger.info(f'Input {i} is a symbolic link referencing {i_new}. Copying {i_new} instead') + self.inputs.remove(i) + self.inputs.append(i_new) + except Exception: + logger.warning(f'Input {i} is a link and cannot be read. Skipping') + self.inpts.remove(i) + if not os.path.isdir(self.output): logger.critical('Output path for backup does not exist') @@ -147,7 +158,7 @@ if euid == 0: else: homedir = os.getenv('HOME') -logging.basicConfig(level=logging.INFO) +logging.getLogger().setLevel(logging.DEBUG) logger = logging.getLogger(os.path.basename(__file__)) c_handler = StreamHandler() #f_handler = RotatingFileHandler(f'{homedir}/.simple_backup/simple_backup.log')