From c467bd677e71465e7f13d2350774bd86fd9f484b Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Mon, 7 Sep 2020 16:52:03 +0200 Subject: [PATCH] missing file --- python/slsdet/jsonproxy.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 python/slsdet/jsonproxy.py diff --git a/python/slsdet/jsonproxy.py b/python/slsdet/jsonproxy.py new file mode 100644 index 000000000..a85adf630 --- /dev/null +++ b/python/slsdet/jsonproxy.py @@ -0,0 +1,30 @@ +from .utils import element_if_equal + +class JsonProxy: + """ + Proxy class to allow for intuitive setting and getting of rx_jsonpara + This class is returned by Detectr.rx_jsonpara + """ + def __init__(self, det): + self.det = det + + def __getitem__(self, key): + return element_if_equal(self.det.getAdditionalJsonParameter(key)) + + def __setitem__(self, key, value): + self.det.setAdditionalJsonParameter(key, str(value)) + + def __repr__(self): + r = element_if_equal(self.det.getAdditionalJsonHeader()) + if isinstance(r, list): + rstr = '' + for i, list_item in enumerate(r): + list_item = dict(list_item) + rstr += ''.join([f'{i}:{key}: {value}\n' for key, value in list_item.items()]) + + return rstr.strip('\n') + else: + r = dict(r) + return '\n'.join([f'{key}: {value}' for key, value in r.items()]) + +