From eb808e6ec2904e2f1ded31a6279593242440fdcb Mon Sep 17 00:00:00 2001 From: 0xxstone <0xxstone@protonmail.com> Date: Sat, 26 Oct 2024 21:01:55 +0200 Subject: [PATCH] Fix grgsm_scanner -l --- python/misc_utils/device.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/python/misc_utils/device.py b/python/misc_utils/device.py index ddd9decd..38ac02cb 100644 --- a/python/misc_utils/device.py +++ b/python/misc_utils/device.py @@ -23,11 +23,23 @@ import osmosdr import os +from urllib.parse import parse_qsl +from ast import literal_eval def get_devices(hint=""): return osmosdr.device_find(osmosdr.device_t(hint)) +def device_to_dict(dev): + dev_dict = {} + for k, v in parse_qsl(dev.to_string(), separator=","): + try: + dev_dict[k] = literal_eval(v) + except (ValueError, SyntaxError): + dev_dict[k] = literal_eval(f"'{v}'") + return dev_dict + def match(dev, filters): + dev = device_to_dict(dev) for f in filters: for k, v in f.items(): if (k not in dev or dev[k] != v):