Bläddra i källkod

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
Thomas Waldmann 9 år sedan
förälder
incheckning
36cc377329
2 ändrade filer med 4 tillägg och 4 borttagningar
  1. 2 2
      borg/archiver.py
  2. 2 2
      borg/cache.py

+ 2 - 2
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

+ 2 - 2
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()