]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
Added user confirmation to remove action
authorSimon Wydooghe <wydooghe.simon@gmail.com>
Mon, 28 Mar 2016 11:13:03 +0000 (13:13 +0200)
committerSimon Wydooghe <wydooghe.simon@gmail.com>
Mon, 28 Mar 2016 11:13:03 +0000 (13:13 +0200)
In case of files other than setup and config being present in the
profile folder, user confirmation is necessary to delete the
profile in question.

Also, added my name to the README.

README.md
autorandr.py

index fca170c1190923d4eeeb7e879da28d98ef79db8a..52867d176952bf4cbafcf193ca733424896ba440 100644 (file)
--- a/README.md
+++ b/README.md
@@ -47,6 +47,7 @@ Contributors to this version of autorandr are:
 * stormc
 * tachylatus
 * andersonjacob
+* Simon Wydooghe
 
 ## How to use
 
index dbcf8753d2d08bf16f93aa425abc38936b53e064..f262e6dd989f19dc2ab6c6390092dfff4a65740b 100755 (executable)
@@ -801,11 +801,23 @@ def main(argv):
         if options["--remove"] not in profiles.keys():
             raise AutorandrException("Cannot remove profile '%s':\nThis profile does not exist." % options["--remove"])
         try:
+            remove = True
             profile_folder = os.path.join(profile_path, options["--remove"])
-            shutil.rmtree(profile_folder)
+            profile_dirlist = os.listdir(profile_folder)
+            profile_dirlist.remove("config")
+            profile_dirlist.remove("setup")
+            if profile_dirlist:
+                print("Profile folder '%s' contains the following:\n---\n%s\n---" % (options["--remove"], "\n".join(profile_dirlist)))
+                response = input("Do you really want to remove profile '%s'? If so, type 'yes': " % options["--remove"]).strip()
+                if response != "yes":
+                    remove = False
+            if remove is True:
+                shutil.rmtree(profile_folder)
+                print("Removed profile '%s'" % options["--remove"])
+            else:
+                print("Profile '%s' was not removed" % options["--remove"])
         except Exception as e:
             raise AutorandrException("Failed to remove profile '%s'" % (options["--remove"],), e)
-        print("Removed profile '%s'" % options["--remove"])
         sys.exit(0)
 
     if "-h" in options or "--help" in options: