From b9601dfe9d2e97be8b9aade11fa74c3772c30e26 Mon Sep 17 00:00:00 2001 From: qadmus <42746943+qadmus@users.noreply.github.com> Date: Thu, 12 Aug 2021 02:00:54 -0700 Subject: [PATCH] plotjuggler takes cabana shared links (#21899) * plotjuggler cabana shared links * extra newline --- tools/plotjuggler/juggle.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/plotjuggler/juggle.py b/tools/plotjuggler/juggle.py index 5cffbf5e35..6d127165d5 100755 --- a/tools/plotjuggler/juggle.py +++ b/tools/plotjuggler/juggle.py @@ -8,8 +8,11 @@ from tempfile import NamedTemporaryFile from common.basedir import BASEDIR from selfdrive.test.process_replay.compare_logs import save_log -from tools.lib.route import Route +from tools.lib.api import CommaApi +from tools.lib.auth_config import get_token from tools.lib.logreader import LogReader +from tools.lib.route import Route +from urllib.parse import urlparse, parse_qs juggle_dir = os.path.dirname(os.path.realpath(__file__)) @@ -43,7 +46,11 @@ def start_juggler(fn=None, dbc=None, layout=None): subprocess.call(f'{pj} --plugin_folders {os.path.join(juggle_dir, "bin")} {extra_args}', shell=True, env=env, cwd=juggle_dir) def juggle_route(route_name, segment_number, segment_count, qlog, can, layout): - if route_name.startswith("http://") or route_name.startswith("https://") or os.path.isfile(route_name): + if 'cabana' in route_name: + query = parse_qs(urlparse(route_name).query) + api = CommaApi(get_token()) + logs = api.get(f'v1/route/{query["route"][0]}/log_urls?sig={query["sig"][0]}&exp={query["exp"][0]}') + elif route_name.startswith("http://") or route_name.startswith("https://") or os.path.isfile(route_name): logs = [route_name] else: r = Route(route_name)