From 3a8158d6243bb774d4f73ca0214de0c88f6f7575 Mon Sep 17 00:00:00 2001 From: Marko Mecina <marko.mecina@univie.ac.at> Date: Tue, 28 Jan 2025 14:36:05 +0100 Subject: [PATCH] add report format option for viewer packet drag-and-drop --- Ccs/ccs_main_config.cfg | 3 +++ Ccs/poolview_sql.py | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Ccs/ccs_main_config.cfg b/Ccs/ccs_main_config.cfg index 704709b..3d287a6 100644 --- a/Ccs/ccs_main_config.cfg +++ b/Ccs/ccs_main_config.cfg @@ -22,6 +22,9 @@ log-dir = ${paths:base}/logs level = WARNING max_logs = 30 +[ccs-viewer] +drag_report_fmt = False + [ccs-monitor] interval = 1 max_age = 20 diff --git a/Ccs/poolview_sql.py b/Ccs/poolview_sql.py index 1b3481b..c647a5a 100644 --- a/Ccs/poolview_sql.py +++ b/Ccs/poolview_sql.py @@ -46,6 +46,8 @@ TM_HEADER_LEN, TC_HEADER_LEN, PEC_LEN = [packet_config.TM_HEADER_LEN, packet_con Telemetry = {'PUS': DbTelemetry, 'RMAP': RMapTelemetry, 'FEE': FEEDataTelemetry} +REPORTFORMAT = cfg.get('ccs-viewer', 'drag_report_fmt').lower() == 'true' # format drag-action data for test report + class TMPoolView(Gtk.Window): # (label, data column alignment) @@ -699,7 +701,15 @@ class TMPoolView(Gtk.Window): ).filter( Telemetry[self.decoding_type].idx == model[my_iter][0] ) - selection_data.set_text(str(row.first().raw), -1) + + rawpkt = row.first().raw + + if REPORTFORMAT: + data = cfl.pktinfo_report(rawpkt) + else: + data = str(rawpkt) + + selection_data.set_text(data, -1) new_session.close() def fetch_lines_from_db(self, offset=0, limit=None, sort=None, order='asc', buffer=10, rows=None, scrolled=False, @@ -1856,7 +1866,12 @@ class TMPoolView(Gtk.Window): def on_drag_tmdata_get(self, treeview, drag_context, selection_data, info, time, *args): treeselection = treeview.get_selection() model, my_iter = treeselection.get_selected() - selection_data.set_text('{} = {}'.format(*model[my_iter][:2]), -1) + txt = '{} = {}'.format(*model[my_iter][:2]) + + if REPORTFORMAT: + txt = txt.replace('_', '\\_') + + selection_data.set_text(txt, -1) def create_decoder_bar(self): box = Gtk.VBox() -- GitLab