allow to ask for remote host profiles and save token on first connection for later use

This commit is contained in:
2026-05-01 19:07:04 +02:00
parent 2f982fa714
commit 5ff340a6d3
11 changed files with 216 additions and 33 deletions
+6 -4
View File
@@ -17,8 +17,10 @@ def _handle(command, args=None, profile=None):
raise SystemExit(1)
def _handle_multi(command, args=None, profile=None):
def _handle_multi(command, args=None, profile=None, remote=None, token=None):
try:
if remote:
return send_command(command, args or {}, profile=profile, remote=remote, token=token)
return send_command(command, args or {}, profile=profile)
except (BrowserNotConnected, RuntimeError):
return None
@@ -29,7 +31,7 @@ def _multi_browser_targets():
if root.obj.get("browser_explicit"):
return []
targets = active_browser_targets()
if len(targets) <= 1:
if len(targets) <= 1 and not any(target.remote for target in targets):
return []
return targets
@@ -71,7 +73,7 @@ def group_list():
if targets:
groups = []
for target in targets:
result = _handle_multi("group.list", profile=target.profile)
result = _handle_multi("group.list", profile=target.profile, remote=target.remote, token=target.token)
if result is None:
continue
groups.extend({**group, "browser": target.display_name} for group in result)
@@ -104,7 +106,7 @@ def group_count():
total = 0
rows = 0
for target in targets:
count = _handle_multi("group.count", profile=target.profile)
count = _handle_multi("group.count", profile=target.profile, remote=target.remote, token=target.token)
if count is None:
continue
count = int(count or 0)