diff --git a/quail/manager.py b/quail/manager.py index a9d98f1..e3fca6e 100644 --- a/quail/manager.py +++ b/quail/manager.py @@ -33,6 +33,8 @@ def install(self): self._ui.start_install() self._solutioner.install() self._installer.register() + if self._ui: + self._ui.exit_install() def uninstall(self): self._solutioner.uninstall() diff --git a/quail/ui/ui_base.py b/quail/ui/ui_base.py index 8f61ff9..6121a4e 100644 --- a/quail/ui/ui_base.py +++ b/quail/ui/ui_base.py @@ -8,6 +8,12 @@ def start_install(self): """ pass + @abstractmethod + def exit_install(self): + """installer exiting + """ + pass + @abstractmethod def progress_callback(self, progress): """This method will be set in solutioner diff --git a/quail/ui/ui_console.py b/quail/ui/ui_console.py index 2ea5f84..fc6840d 100644 --- a/quail/ui/ui_console.py +++ b/quail/ui/ui_console.py @@ -3,9 +3,12 @@ class UiConsole(UiBase): + def exit_install(self): + input("[*] Installation successful!\nPress enter to quit...") + def progress_callback(self, progress): - sys.stdout.write("%d %% installing ...\r" % progress) + sys.stdout.write(" %d %% installing ...\r" % progress) sys.stdout.flush() def start_install(self): - sys.stdout.write("Install started\n") + sys.stdout.write("[*] Installation started\n") diff --git a/quail/ui/ui_tkinter.py b/quail/ui/ui_tkinter.py index e9b37da..76b041a 100644 --- a/quail/ui/ui_tkinter.py +++ b/quail/ui/ui_tkinter.py @@ -37,6 +37,10 @@ def __init__(self, parent, controller): class UiTkinter(UiBase, threading.Thread): + def exit_install(self): + # should be called when install is done + pass + def __init__(self): self._tk = None self._event_run_install = threading.Event()