From b20400fd980ee702c2b0ea6afaa9c53d2beaf6ca Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 7 Jun 2016 10:05:16 +0200 Subject: [PATCH] Use the --force option for every question. fix #12 --- modoboa_installer/scripts/modoboa.py | 19 ++++++++++--------- modoboa_installer/ssl.py | 9 +++++---- run.py | 1 + 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/modoboa_installer/scripts/modoboa.py b/modoboa_installer/scripts/modoboa.py index 85244e1..5da39fe 100644 --- a/modoboa_installer/scripts/modoboa.py +++ b/modoboa_installer/scripts/modoboa.py @@ -61,15 +61,16 @@ class Modoboa(base.Installer): """Deploy Modoboa.""" target = os.path.join(self.home_dir, "instance") if os.path.exists(target): - utils.printcolor( - "Target directory for Modoboa deployment ({}) already exists." - " If you choose to continue, it will be removed.".format( - target), - utils.YELLOW - ) - answer = utils.user_input("Do you confirm? (Y/n) ") - if answer.lower().startswith("n"): - return + if not self.config.getboolean("general", "force"): + utils.printcolor( + "Target directory for Modoboa deployment ({}) already " + "exists. If you choose to continue, it will be removed." + .format(target), + utils.YELLOW + ) + answer = utils.user_input("Do you confirm? (Y/n) ") + if answer.lower().startswith("n"): + return shutil.rmtree(target) prefix = ". {}; ".format( diff --git a/modoboa_installer/ssl.py b/modoboa_installer/ssl.py index 3b996b9..9bfb366 100644 --- a/modoboa_installer/ssl.py +++ b/modoboa_installer/ssl.py @@ -29,10 +29,11 @@ class SelfSignedCertificate(CertificateBackend): def create(self): """Create a certificate.""" if os.path.exists(self.config.get("general", "tls_key_file")): - answer = utils.user_input( - "Overwrite the existing SSL certificate? (y/N) ") - if not answer.lower().startswith("y"): - return + if not self.config.getboolean("general", "force"): + answer = utils.user_input( + "Overwrite the existing SSL certificate? (y/N) ") + if not answer.lower().startswith("y"): + return utils.printcolor( "Generating new self-signed certificate", utils.YELLOW) utils.exec_cmd( diff --git a/run.py b/run.py index 756cc30..2909bd8 100755 --- a/run.py +++ b/run.py @@ -50,6 +50,7 @@ def main(): answer = utils.user_input("Do you confirm? (Y/n) ") if answer.lower().startswith("n"): return + config.set("general", "force", str(args.force)) utils.printcolor( "The process can be long, feel free to take a coffee " "and come back later ;)", utils.BLUE)