From 36cc37732914f8c7551dab7348401a5608401050 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 2 Nov 2015 01:59:22 +0100 Subject: [PATCH] use default_notty=False for confirmations, fixes #345 this is so that e.g. cron jobs do not hang indefinitely if yes() is called, but it will just default to "no" if not tty is connected. if you need to enforce a "yes" answer (which is not recommended for the security critical questions), you can use the environment: BORG_CHECK_I_KNOW_WHAT_I_AM_DOING=Y --- borg/archiver.py | 4 ++-- borg/cache.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/borg/archiver.py b/borg/archiver.py index f948db793..c2aaecb81 100644 --- a/borg/archiver.py +++ b/borg/archiver.py @@ -91,7 +91,7 @@ class Archiver: msg = ("'check --repair' is an experimental feature that might result in data loss." + "\n" + "Type 'YES' if you understand this and want to continue: ") - if not yes(msg, false_msg="Aborting.", + if not yes(msg, false_msg="Aborting.", default_notty=False, env_var_override='BORG_CHECK_I_KNOW_WHAT_I_AM_DOING', truish=('YES', )): return EXIT_ERROR if not args.archives_only: @@ -335,7 +335,7 @@ class Archiver: msg.append(format_archive(archive_info)) msg.append("Type 'YES' if you understand this and want to continue: ") msg = '\n'.join(msg) - if not yes(msg, false_msg="Aborting.", + if not yes(msg, false_msg="Aborting.", default_notty=False, env_var_override='BORG_CHECK_I_KNOW_WHAT_I_AM_DOING', truish=('YES', )): self.exit_code = EXIT_ERROR return self.exit_code diff --git a/borg/cache.py b/borg/cache.py index c3f085cdc..7eb854050 100644 --- a/borg/cache.py +++ b/borg/cache.py @@ -54,7 +54,7 @@ class Cache: msg = ("Warning: Attempting to access a previously unknown unencrypted repository!" + "\n" + "Do you want to continue? [yN] ") - if not yes(msg, false_msg="Aborting.", + if not yes(msg, false_msg="Aborting.", default_notty=False, env_var_override='BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK'): raise self.CacheInitAbortedError() self.create() @@ -64,7 +64,7 @@ class Cache: msg = ("Warning: The repository at location {} was previously located at {}".format(repository._location.canonical_path(), self.previous_location) + "\n" + "Do you want to continue? [yN] ") - if not yes(msg, false_msg="Aborting.", + if not yes(msg, false_msg="Aborting.", default_notty=False, env_var_override='BORG_RELOCATED_REPO_ACCESS_IS_OK'): raise self.RepositoryAccessAborted()