mirror of
https://github.com/netinvent/npbackup.git
synced 2024-09-21 07:16:16 +08:00
GUI: reimplement auto upgrade
This commit is contained in:
parent
cb5cf0595c
commit
ef35b90372
|
@ -50,7 +50,7 @@ from npbackup.gui.config import config_gui
|
||||||
from npbackup.gui.operations import operations_gui
|
from npbackup.gui.operations import operations_gui
|
||||||
from npbackup.gui.helpers import get_anon_repo_uri, gui_thread_runner
|
from npbackup.gui.helpers import get_anon_repo_uri, gui_thread_runner
|
||||||
from npbackup.core.i18n_helper import _t
|
from npbackup.core.i18n_helper import _t
|
||||||
from npbackup.core.upgrade_runner import run_upgrade, check_new_version
|
from npbackup.core import upgrade_runner
|
||||||
from npbackup.path_helper import CURRENT_DIR
|
from npbackup.path_helper import CURRENT_DIR
|
||||||
from npbackup.__version__ import version_string
|
from npbackup.__version__ import version_string
|
||||||
from npbackup.__debug__ import _DEBUG
|
from npbackup.__debug__ import _DEBUG
|
||||||
|
@ -64,11 +64,7 @@ sg.theme(PYSIMPLEGUI_THEME)
|
||||||
sg.SetOptions(icon=OEM_ICON)
|
sg.SetOptions(icon=OEM_ICON)
|
||||||
|
|
||||||
|
|
||||||
def about_gui(version_string: str, full_config: dict = None) -> None:
|
def about_gui(version_string: str, full_config: dict = None, auto_upgrade_result: bool = False) -> None:
|
||||||
if full_config and full_config.g("global_options.auto_upgrade_server_url"):
|
|
||||||
auto_upgrade_result = check_new_version(full_config)
|
|
||||||
else:
|
|
||||||
auto_upgrade_result = None
|
|
||||||
if auto_upgrade_result:
|
if auto_upgrade_result:
|
||||||
new_version = [
|
new_version = [
|
||||||
sg.Button(
|
sg.Button(
|
||||||
|
@ -107,7 +103,7 @@ def about_gui(version_string: str, full_config: dict = None) -> None:
|
||||||
)
|
)
|
||||||
if result == "OK":
|
if result == "OK":
|
||||||
logger.info("Running GUI initiated upgrade")
|
logger.info("Running GUI initiated upgrade")
|
||||||
sub_result = run_upgrade(full_config)
|
sub_result = upgrade_runner.upgrade(full_config)
|
||||||
if sub_result:
|
if sub_result:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
|
@ -449,6 +445,17 @@ def _main_gui(viewer_mode: bool):
|
||||||
if args.repo_name:
|
if args.repo_name:
|
||||||
repo_name = args.repo_name
|
repo_name = args.repo_name
|
||||||
|
|
||||||
|
def check_for_auto_upgrade(full_config: dict) -> None:
|
||||||
|
if full_config and full_config.g("global_options.auto_upgrade_server_url"):
|
||||||
|
auto_upgrade_result = upgrade_runner.check_new_version(full_config)
|
||||||
|
if auto_upgrade_result:
|
||||||
|
r = sg.Popup(_t("config_gui.auto_upgrade_launch"), custom_text=(_t("generic.yes"), _t("generic.no")))
|
||||||
|
if r == _t("generic.yes"):
|
||||||
|
result = upgrade_runner.run_upgrade(full_config)
|
||||||
|
if not result:
|
||||||
|
sg.Popup(_t("config_gui.auto_upgrade_failed"))
|
||||||
|
|
||||||
|
|
||||||
def select_config_file(config_file: str = None) -> None:
|
def select_config_file(config_file: str = None) -> None:
|
||||||
"""
|
"""
|
||||||
Option to select a configuration file
|
Option to select a configuration file
|
||||||
|
@ -794,6 +801,8 @@ def _main_gui(viewer_mode: bool):
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
check_for_auto_upgrade(full_config)
|
||||||
|
|
||||||
window = sg.Window(
|
window = sg.Window(
|
||||||
SHORT_PRODUCT_NAME,
|
SHORT_PRODUCT_NAME,
|
||||||
layout,
|
layout,
|
||||||
|
|
Loading…
Reference in a new issue