mirror of
https://github.com/netinvent/npbackup.git
synced 2025-09-12 16:04:48 +08:00
GUI: Update main window header disposition
This commit is contained in:
parent
f582f52447
commit
b4c3481d59
6 changed files with 74 additions and 70 deletions
|
@ -593,7 +593,7 @@ def _main_gui(viewer_mode: bool):
|
|||
def gui_update_state() -> None:
|
||||
nonlocal current_state
|
||||
nonlocal backup_tz
|
||||
nonlocal backend_type
|
||||
nonlocal repo_type
|
||||
nonlocal snapshot_list
|
||||
|
||||
if current_state:
|
||||
|
@ -618,7 +618,7 @@ def _main_gui(viewer_mode: bool):
|
|||
window["--STATE-BUTTON--"].Update(
|
||||
_t("generic.not_connected_yet"), button_color=GUI_STATE_UNKNOWN_BUTTON
|
||||
)
|
||||
window["-backend_type-"].Update(backend_type)
|
||||
window["-repo_type-"].Update(repo_type)
|
||||
window["snapshot-list"].Update(snapshot_list)
|
||||
|
||||
def get_gui_data(repo_config: dict) -> Tuple[bool, List[str]]:
|
||||
|
@ -751,11 +751,11 @@ def _main_gui(viewer_mode: bool):
|
|||
full_config, repo_name=repo_name
|
||||
)
|
||||
backup_destination = _t("main_gui.local_folder")
|
||||
backend_type, repo_uri = get_anon_repo_uri(repo_config.g("repo_uri"))
|
||||
repo_type, repo_uri = get_anon_repo_uri(repo_config.g("repo_uri"))
|
||||
else:
|
||||
repo_config = None
|
||||
backup_destination = "None"
|
||||
backend_type = "None"
|
||||
repo_type = "None"
|
||||
repo_uri = "None"
|
||||
repo_list = npbackup.configuration.get_repo_list(full_config)
|
||||
|
||||
|
@ -775,7 +775,7 @@ def _main_gui(viewer_mode: bool):
|
|||
config_file,
|
||||
repo_config,
|
||||
backup_destination,
|
||||
backend_type,
|
||||
repo_type,
|
||||
repo_uri,
|
||||
repo_list,
|
||||
)
|
||||
|
@ -866,7 +866,7 @@ def _main_gui(viewer_mode: bool):
|
|||
repo_config = None
|
||||
config_file = None
|
||||
full_config = None
|
||||
backend_type = None
|
||||
repo_type = None
|
||||
repo_list = []
|
||||
else:
|
||||
(
|
||||
|
@ -874,7 +874,7 @@ def _main_gui(viewer_mode: bool):
|
|||
config_file,
|
||||
repo_config,
|
||||
_,
|
||||
backend_type,
|
||||
repo_type,
|
||||
_,
|
||||
repo_list,
|
||||
) = get_config(config_file=config_file, repo_name=args.repo_name)
|
||||
|
@ -894,60 +894,62 @@ def _main_gui(viewer_mode: bool):
|
|||
[
|
||||
[
|
||||
sg.Column(
|
||||
[[sg.Image(data=OEM_LOGO)]], vertical_alignment="top"
|
||||
[[sg.Image(data=OEM_LOGO)]], vertical_alignment="middle"
|
||||
),
|
||||
sg.Column(
|
||||
[
|
||||
[sg.Text(OEM_STRING, font="Arial 14")],
|
||||
(
|
||||
[sg.Text(_t("main_gui.viewer_mode"))]
|
||||
if viewer_mode
|
||||
else []
|
||||
),
|
||||
[
|
||||
sg.Text("{} ".format(_t("main_gui.backup_state"))),
|
||||
sg.Text("", key="-backend_type-"),
|
||||
sg.Text(OEM_STRING, font="Arial 14")
|
||||
],
|
||||
[
|
||||
sg.Text(_t("main_gui.viewer_mode"))
|
||||
] if viewer_mode
|
||||
else [],
|
||||
[
|
||||
sg.Text(
|
||||
_t("main_gui.no_config"),
|
||||
font=("Arial", 14),
|
||||
text_color="red",
|
||||
key="-NO-CONFIG-",
|
||||
visible=False,
|
||||
)
|
||||
]
|
||||
if not viewer_mode
|
||||
else []
|
||||
],
|
||||
justification="C",
|
||||
element_justification="C",
|
||||
vertical_alignment="top",
|
||||
),
|
||||
sg.Column(
|
||||
[
|
||||
[
|
||||
sg.Text(_t("main_gui.backup_state"), size=(20, 1)),
|
||||
sg.Button(
|
||||
_t("generic.refresh"),
|
||||
key="--STATE-BUTTON--",
|
||||
button_color=("white", "grey"),
|
||||
)
|
||||
],
|
||||
],
|
||||
justification="C",
|
||||
element_justification="C",
|
||||
vertical_alignment="top",
|
||||
),
|
||||
[
|
||||
sg.Text(_t("main_gui.backup_list_to"), size=(20, 1)),
|
||||
sg.Combo(
|
||||
repo_list,
|
||||
key="-active_repo-",
|
||||
default_value=repo_list[0] if repo_list else None,
|
||||
enable_events=True,
|
||||
size=(20, 1),
|
||||
),
|
||||
]
|
||||
if not viewer_mode
|
||||
else [],
|
||||
[
|
||||
sg.Text(_t("main_gui.repo_type"), size=(20, 1)),
|
||||
sg.Text("", key="-repo_type-"),
|
||||
],
|
||||
]
|
||||
)
|
||||
],
|
||||
(
|
||||
[
|
||||
sg.Text(
|
||||
_t("main_gui.no_config"),
|
||||
font=("Arial", 14),
|
||||
text_color="red",
|
||||
key="-NO-CONFIG-",
|
||||
visible=False,
|
||||
)
|
||||
]
|
||||
if not viewer_mode
|
||||
else []
|
||||
),
|
||||
(
|
||||
[
|
||||
sg.Text(_t("main_gui.backup_list_to")),
|
||||
sg.Combo(
|
||||
repo_list,
|
||||
key="-active_repo-",
|
||||
default_value=repo_list[0] if repo_list else None,
|
||||
enable_events=True,
|
||||
size=(20, 1),
|
||||
),
|
||||
]
|
||||
if not viewer_mode
|
||||
else []
|
||||
),
|
||||
[
|
||||
sg.Table(
|
||||
values=[[]],
|
||||
|
@ -1129,7 +1131,7 @@ def _main_gui(viewer_mode: bool):
|
|||
_config_file,
|
||||
_repo_config,
|
||||
_backup_destination,
|
||||
_backend_type,
|
||||
_repo_type,
|
||||
_repo_uri,
|
||||
_repo_list,
|
||||
) = get_config(window=window, config_file=cfg_file)
|
||||
|
@ -1138,7 +1140,7 @@ def _main_gui(viewer_mode: bool):
|
|||
config_file = _config_file
|
||||
repo_config = _repo_config
|
||||
_ = _backup_destination
|
||||
backend_type = _backend_type
|
||||
repo_type = _repo_type
|
||||
_ = _repo_uri
|
||||
repo_list = _repo_list
|
||||
else:
|
||||
|
@ -1152,8 +1154,8 @@ def _main_gui(viewer_mode: bool):
|
|||
event = "--STATE-BUTTON--"
|
||||
if event == _t("generic.destination"):
|
||||
try:
|
||||
if backend_type:
|
||||
if backend_type in ["REST", "SFTP"]:
|
||||
if repo_type:
|
||||
if repo_type in ["REST", "SFTP"]:
|
||||
destination_string = repo_config.g("repo_uri").split("@")[-1]
|
||||
else:
|
||||
destination_string = repo_config.g("repo_uri")
|
||||
|
|
|
@ -50,16 +50,16 @@ def get_anon_repo_uri(repository: str) -> Tuple[str, str]:
|
|||
"""
|
||||
if not repository:
|
||||
return "UNDEFINED", None
|
||||
backend_type = repository.split(":")[0].upper()
|
||||
if backend_type.upper() in ["REST", "SFTP"]:
|
||||
repo_type = repository.split(":")[0].upper()
|
||||
if repo_type.upper() in ["REST", "SFTP"]:
|
||||
res = re.match(
|
||||
r"(sftp|rest)(.*:\/\/)(.*):?(.*)@(.*)", repository, re.IGNORECASE
|
||||
)
|
||||
if res:
|
||||
backend_uri = res.group(1) + res.group(2) + res.group(5)
|
||||
repo_uri = res.group(1) + res.group(2) + res.group(5)
|
||||
else:
|
||||
backend_uri = repository
|
||||
elif backend_type.upper() in [
|
||||
repo_uri = repository
|
||||
elif repo_type.upper() in [
|
||||
"S3",
|
||||
"B2",
|
||||
"SWIFT",
|
||||
|
@ -67,11 +67,11 @@ def get_anon_repo_uri(repository: str) -> Tuple[str, str]:
|
|||
"GS",
|
||||
"RCLONE",
|
||||
]:
|
||||
backend_uri = repository
|
||||
repo_uri = repository
|
||||
else:
|
||||
backend_type = "LOCAL"
|
||||
backend_uri = repository
|
||||
return backend_type, backend_uri
|
||||
repo_type = "LOCAL"
|
||||
repo_uri = repository
|
||||
return repo_type, repo_uri
|
||||
|
||||
|
||||
def gui_thread_runner(
|
||||
|
|
|
@ -47,12 +47,12 @@ def gui_update_state(window, full_config: dict, unencrypted: str = None) -> list
|
|||
repo_config.g("repo_opts.repo_password")
|
||||
or repo_config.g("repo_opts.repo_password_command")
|
||||
):
|
||||
backend_type, repo_uri = get_anon_repo_uri(repo_config.g("repo_uri"))
|
||||
repo_type, repo_uri = get_anon_repo_uri(repo_config.g("repo_uri"))
|
||||
repo_group = repo_config.g("repo_group")
|
||||
if not unencrypted and unencrypted != repo_name:
|
||||
repo_uri = ENCRYPTED_DATA_PLACEHOLDER
|
||||
repo_and_group_list.append(
|
||||
gui_object("repo", repo_name, repo_group, backend_type, repo_uri)
|
||||
gui_object("repo", repo_name, repo_group, repo_type, repo_uri)
|
||||
)
|
||||
else:
|
||||
logger.warning("Incomplete URI/password for repo {}".format(repo_name))
|
||||
|
|
|
@ -84,11 +84,11 @@ class ResticRunner:
|
|||
"GZ",
|
||||
"RCLONE",
|
||||
]:
|
||||
self._backend_type = backend.lower()
|
||||
self._repo_type = backend.lower()
|
||||
else:
|
||||
self._backend_type = "local"
|
||||
self._repo_type = "local"
|
||||
except AttributeError:
|
||||
self._backend_type = None
|
||||
self._repo_type = None
|
||||
self._ignore_cloud_files = True
|
||||
self._additional_parameters = None
|
||||
self._environment_variables = {}
|
||||
|
@ -119,7 +119,7 @@ class ResticRunner:
|
|||
self.password = None
|
||||
if self.repository:
|
||||
try:
|
||||
if self._backend_type == "local":
|
||||
if self._repo_type == "local":
|
||||
self.repository = os.path.expanduser(self.repository)
|
||||
self.repository = os.path.expandvars(self.repository)
|
||||
os.environ["RESTIC_REPOSITORY"] = str(self.repository)
|
||||
|
@ -482,7 +482,7 @@ class ResticRunner:
|
|||
if value > 0:
|
||||
self._backend_connections = value
|
||||
elif value == 0:
|
||||
if self._backend_type == "local":
|
||||
if self._repo_type == "local":
|
||||
self._backend_connections = 2
|
||||
else:
|
||||
self._backend_connections = 8
|
||||
|
@ -559,9 +559,9 @@ class ResticRunner:
|
|||
args += " --limit-upload {}".format(self.limit_upload)
|
||||
if self.limit_download:
|
||||
args += " --limit-download {}".format(self.limit_download)
|
||||
if self.backend_connections and self._backend_type != "local":
|
||||
if self.backend_connections and self._repo_type != "local":
|
||||
args += " -o {}.connections={}".format(
|
||||
self._backend_type, self.backend_connections
|
||||
self._repo_type, self.backend_connections
|
||||
)
|
||||
if self.verbose:
|
||||
args += " -vv"
|
||||
|
|
|
@ -15,6 +15,7 @@ en:
|
|||
only_include: Only include
|
||||
destination_folder: Destination folder
|
||||
backup_state: Backup state
|
||||
repo_type: Repo type
|
||||
backup_list_to: List of backups to repo
|
||||
local_folder: Local folder
|
||||
external_server: external server
|
||||
|
|
|
@ -15,6 +15,7 @@ fr:
|
|||
only_include: Inclure seulement
|
||||
destination_folder: Dossier de destination
|
||||
backup_state: Etat de sauvegarde
|
||||
repo_type: Type de dépot
|
||||
backup_list_to: Liste des sauvegardes vers le dépot
|
||||
local_folder: Dossier local
|
||||
external_server: serveur externalisé
|
||||
|
|
Loading…
Add table
Reference in a new issue