From 0ffb5c47ac8ecd0d1c1ce5f6ad05939c4bbc49f8 Mon Sep 17 00:00:00 2001 From: Fuxino Date: Wed, 21 Oct 2026 22:42:49 +0200 Subject: [PATCH] Reuse _detect_user() and _expand_home() in simple_backup() The entry point repeated both, and its copy of the '~' expansion missed a bare '~'. --- simple_backup/simple_backup.py | 33 ++++++++------------------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/simple_backup/simple_backup.py b/simple_backup/simple_backup.py index 246a39c..1a0ed72 100755 --- a/simple_backup/simple_backup.py +++ b/simple_backup/simple_backup.py @@ -1081,26 +1081,14 @@ def simple_backup() -> int: args = _parse_arguments() - if args.user: - user = args.user - homedir = os.path.expanduser(f'~{user}') + user: str | None = args.user or _detect_user() + + if not args.user and os.geteuid() != 0: + homedir = os.getenv('HOME', '') + elif user is not None: + homedir = _expand_home('~', user) else: - euid = os.geteuid() - - if euid == 0: - user = _detect_user() - - if user is not None: - homedir = os.path.expanduser(f'~{user}') - else: - logger.warning( - 'Failed to detect user. You can use -u/--user parameter to manually specify it') - homedir = None - else: - user = os.getenv('USER') - homedir = os.getenv('HOME') - - if homedir is None: + logger.warning('Failed to detect user. You can use -u/--user parameter to manually specify it') homedir = '' if args.no_syslog: @@ -1109,13 +1097,8 @@ def simple_backup() -> int: except NameError: pass - config_file = args.config - # Expand '~' to the home of the user running the backup, not root's - if config_file.startswith('~/') and user is not None: - config_file = f'~{user}{config_file[1:]}' - - config_file = os.path.expanduser(config_file) + config_file = _expand_home(args.config, user) if user is not None else os.path.expanduser(args.config) try: config_args = _read_config(config_file, user)