diff --git a/app/nginx_deploy_gui.py b/app/nginx_deploy_gui.py index e38f199..ae09775 100644 --- a/app/nginx_deploy_gui.py +++ b/app/nginx_deploy_gui.py @@ -6,61 +6,11 @@ from PySide6.QtWidgets import ( ) from PySide6.QtCore import Qt from datetime import datetime +from logic.deployment_controller import DeploymentController +from logic.logger import Logger LOG_FILE = "logs/nginx_deploy_gui.log" -class Logger: - def __init__(self, log_widget): - self.log_widget = log_widget - self.log_file = open(LOG_FILE, "a") - - def log(self, message): - timestamp = datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") - full_message = f"{timestamp} {message}\n" - self.log_widget.append(full_message) - self.log_file.write(full_message) - self.log_file.flush() - - def close(self): - self.log_file.close() - -class DeploymentController: - def __init__(self, logger): - self.logger = logger - # These will be set by the UI - self.ssh_key = None - self.config_dir = None - - def preflight_checks(self): - self.logger.log("Running pre-flight checks...") - # Stub: implement actual checks - self.logger.log("Pre-flight checks complete.") - - def scan_domains(self): - self.logger.log("Scanning for domains in configs...") - # Stub: implement domain scan - self.logger.log("Domain scan complete.") - - def transfer_files(self): - self.logger.log("Transferring files to remote server...") - # Stub: implement file transfer - self.logger.log("File transfer complete.") - - def remote_ops(self): - self.logger.log("Performing remote file operations...") - # Stub: implement remote ops - self.logger.log("Remote operations complete.") - - def run_certbot(self): - self.logger.log("Prompting user for Certbot run...") - # Stub: implement certbot prompt and run - self.logger.log("Certbot step complete.") - - def cleanup(self): - self.logger.log("Performing cleanup...") - # Stub: implement cleanup - self.logger.log("Cleanup complete.") - class MainWindow(QMainWindow): def __init__(self): super().__init__() @@ -148,7 +98,15 @@ class MainWindow(QMainWindow): self.controller.remote_ops() def run_certbot(self): - self.controller.run_certbot() + # Prompt user for Certbot confirmation + from PySide6.QtWidgets import QMessageBox + reply = QMessageBox.question(self, 'Run Certbot', + 'Run Certbot for the discovered domains?', + QMessageBox.Yes | QMessageBox.No, QMessageBox.No) + if reply == QMessageBox.Yes: + self.controller.run_certbot(lambda prompt: True) + else: + self.controller.run_certbot(lambda prompt: False) def cleanup(self): self.controller.cleanup()