MCPcopy Create free account
hub / github.com/BuddySirJava/SSH-Studio / delete_host

Method delete_host

src/ui/host_list.py:237–269  ·  view source on GitHub ↗

Delete the selected host.

(self, host_to_delete: SSHHost = None)

Source from the content-addressed store, hash-verified

235 self.select_host(duplicated_host)
236
237 def delete_host(self, host_to_delete: SSHHost = None):
238 """Delete the selected host."""
239 if host_to_delete is None:
240 host_to_delete = self._get_selected_host()
241 if host_to_delete is not None:
242 title = _("Delete host?")
243 body = _(f"Delete host '{', '.join(host_to_delete.patterns)}'?")
244 dialog = Adw.AlertDialog.new(title, body)
245 dialog.add_response("cancel", _("Cancel"))
246 dialog.add_response("delete", _("Delete"))
247 try:
248 dialog.set_response_appearance(
249 "delete", Adw.ResponseAppearance.DESTRUCTIVE
250 )
251 dialog.set_default_response("cancel")
252 dialog.set_close_response("cancel")
253 except Exception:
254 pass
255
256 def on_response(dlg, response):
257 if response == "delete":
258 self.emit("host-deleted", host_to_delete)
259 if host_to_delete in self.hosts:
260 self.hosts.remove(host_to_delete)
261 if host_to_delete in self.filtered_hosts:
262 self.filtered_hosts.remove(host_to_delete)
263 self._refresh_view()
264
265 dialog.connect("response", on_response)
266 try:
267 dialog.present(self.get_root())
268 except Exception:
269 dialog.present(None)
270
271 def _duplicate_host(self, original_host: SSHHost) -> SSHHost:
272 duplicated_host = SSHHost()

Callers 2

_on_delete_clickedMethod · 0.80

Calls 1

_get_selected_hostMethod · 0.95

Tested by

no test coverage detected