]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blobdiff - autorandr.py
Merge pull request #46 from HyperBaton/master
[deb_pkgs/autorandr.git] / autorandr.py
index dbcf8753d2d08bf16f93aa425abc38936b53e064..a65322d90c4ea4168a4748ba47befb5423e1de85 100755 (executable)
@@ -40,6 +40,10 @@ from distutils.version import LooseVersion as Version
 from functools import reduce
 from itertools import chain
 
+try:
+    input = raw_input
+except NameError:
+    pass
 
 virtual_profiles = [
     # (name, description, callback)
@@ -801,11 +805,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 additional files:\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: