diff --git a/tui/screens/backup.py b/tui/screens/backup.py index 119df12..a927c0a 100644 --- a/tui/screens/backup.py +++ b/tui/screens/backup.py @@ -46,12 +46,12 @@ class BackupScreen(Screen): self.app.pop_screen() elif event.button.id == "btn-backup": target_sel = self.query_one("#backup-target", Select) - if target_sel.value is Select.BLANK: + if not isinstance(target_sel.value, str): self.notify("Please select a target", severity="error") return target = str(target_sel.value) remote_sel = self.query_one("#backup-remote", Select) - remote = str(remote_sel.value) if remote_sel.value != Select.BLANK else "" + remote = str(remote_sel.value) if isinstance(remote_sel.value, str) else "" msg = f"Run backup for target '{target}'?" if remote: msg += f"\nRemote: {remote}" diff --git a/tui/screens/remote_edit.py b/tui/screens/remote_edit.py index 713bc62..c4c2a54 100644 --- a/tui/screens/remote_edit.py +++ b/tui/screens/remote_edit.py @@ -95,7 +95,7 @@ class RemoteEditScreen(Screen): def _update_field_visibility(self) -> None: type_sel = self.query_one("#re-type", Select) - rtype = str(type_sel.value) if type_sel.value is not Select.BLANK else "ssh" + rtype = str(type_sel.value) if isinstance(type_sel.value, str) else "ssh" for w in self.query(".ssh-field"): w.display = rtype == "ssh" for w in self.query(".s3-field"): @@ -125,7 +125,7 @@ class RemoteEditScreen(Screen): name = self._edit_name type_sel = self.query_one("#re-type", Select) - rtype = str(type_sel.value) if type_sel.value is not Select.BLANK else "ssh" + rtype = str(type_sel.value) if isinstance(type_sel.value, str) else "ssh" remote = Remote( name=name, @@ -133,7 +133,7 @@ class RemoteEditScreen(Screen): host=self.query_one("#re-host", Input).value.strip(), port=self.query_one("#re-port", Input).value.strip() or "22", user=self.query_one("#re-user", Input).value.strip() or "root", - auth_method=str(self.query_one("#re-auth", Select).value) if self.query_one("#re-auth", Select).value is not Select.BLANK else "key", + auth_method=str(self.query_one("#re-auth", Select).value) if isinstance(self.query_one("#re-auth", Select).value, str) else "key", key=self.query_one("#re-key", Input).value.strip(), password=self.query_one("#re-password", Input).value, base=self.query_one("#re-base", Input).value.strip() or "/backups", diff --git a/tui/screens/restore.py b/tui/screens/restore.py index 525a928..9b186c7 100644 --- a/tui/screens/restore.py +++ b/tui/screens/restore.py @@ -52,7 +52,7 @@ class RestoreScreen(Screen): remote_sel = self.query_one("#restore-remote", Select) except Exception: return - if target_sel.value is Select.BLANK or remote_sel.value is Select.BLANK: + if not isinstance(target_sel.value, str) or not isinstance(remote_sel.value, str): return target = str(target_sel.value) remote = str(remote_sel.value) @@ -85,13 +85,13 @@ class RestoreScreen(Screen): target_sel = self.query_one("#restore-target", Select) remote_sel = self.query_one("#restore-remote", Select) snap_sel = self.query_one("#restore-snapshot", Select) - if target_sel.value is Select.BLANK: + if not isinstance(target_sel.value, str): self.notify("Select a target", severity="error") return - if remote_sel.value is Select.BLANK: + if not isinstance(remote_sel.value, str): self.notify("Select a remote", severity="error") return - if snap_sel.value is Select.BLANK: + if not isinstance(snap_sel.value, str): self.notify("Select a snapshot", severity="error") return target = str(target_sel.value) diff --git a/tui/screens/retention.py b/tui/screens/retention.py index 839345d..0a99d96 100644 --- a/tui/screens/retention.py +++ b/tui/screens/retention.py @@ -45,7 +45,7 @@ class RetentionScreen(Screen): self.app.pop_screen() elif event.button.id == "btn-cleanup": target_sel = self.query_one("#ret-target", Select) - if target_sel.value is Select.BLANK: + if not isinstance(target_sel.value, str): self.notify("Select a target first", severity="error") return target = str(target_sel.value) diff --git a/tui/screens/schedule.py b/tui/screens/schedule.py index 30ea76a..e9be2c9 100644 --- a/tui/screens/schedule.py +++ b/tui/screens/schedule.py @@ -108,7 +108,7 @@ class ScheduleScreen(Screen): self.notify(f"Schedule '{name}' already exists.", severity="error") return type_sel = self.query_one("#sched-type", Select) - stype = str(type_sel.value) if type_sel.value is not Select.BLANK else "daily" + stype = str(type_sel.value) if isinstance(type_sel.value, str) else "daily" sched = Schedule( name=name, schedule=stype, diff --git a/tui/screens/settings.py b/tui/screens/settings.py index e215c66..0a07904 100644 --- a/tui/screens/settings.py +++ b/tui/screens/settings.py @@ -72,7 +72,7 @@ class SettingsScreen(Screen): def _get_select_val(self, sel_id: str, default: str) -> str: sel = self.query_one(sel_id, Select) - return str(sel.value) if sel.value is not Select.BLANK else default + return str(sel.value) if isinstance(sel.value, str) else default def _save(self) -> None: settings = AppSettings( diff --git a/tui/screens/snapshots.py b/tui/screens/snapshots.py index 627d65f..49e82a9 100644 --- a/tui/screens/snapshots.py +++ b/tui/screens/snapshots.py @@ -47,7 +47,7 @@ class SnapshotsScreen(Screen): async def _load_snapshots(self) -> None: target_sel = self.query_one("#snap-target", Select) remote_sel = self.query_one("#snap-remote", Select) - if target_sel.value is Select.BLANK or remote_sel.value is Select.BLANK: + if not isinstance(target_sel.value, str) or not isinstance(remote_sel.value, str): self.notify("Select target and remote first", severity="error") return target = str(target_sel.value)