def get(self, id, return_list=False): req = CtrlReq() req.type = CtrlReq.GET if self.prefix: id = self.prefix + '.' + id req.id = id rep = self._send_and_recv(req) if rep.status != 0: raise KeyError(id) pairs = [] for pair in rep.pairs: for type in self.map.values(): if pair.val.HasField(type): val = getattr(pair.val, type) if type == 'str_val': val = val.encode('ascii') pairs.append((pair.id.encode('ascii'), val)) break if len(pairs) == 0: return elif len(pairs) == 1: if return_list: return pairs[0] else: return pairs[0][1] else: return pairs
def get(self, id, return_list = False): req = CtrlReq() req.type = CtrlReq.GET if self.prefix: id = self.prefix + '.' + id req.id = id rep = self._send_and_recv(req) if rep.status != 0: raise KeyError(id) pairs = [] for pair in rep.pairs: for type in self.map.values(): if pair.val.HasField(type): val = getattr(pair.val, type) if type == 'str_val': val = val.encode('ascii') pairs.append((pair.id.encode('ascii'), val)) break if len(pairs) == 0: return elif len(pairs) == 1: if return_list: return pairs[0] else: return pairs[0][1] else: return pairs
def set(self, id, val): req = CtrlReq() req.type = CtrlReq.SET if self.prefix: id = self.prefix + '.' + id req.id = id setattr(req.val, self.map[val.__class__], val) rep = self._send_and_recv(req) if rep.status != 0: raise KeyError(id)
def set(self, id, val): req = CtrlReq() req.type = CtrlReq.SET if self.prefix: id = self.prefix + '.' + id req.id = id setattr(req.val, self.map[val.__class__], val) rep = self._send_and_recv(req) if rep.status != 0: raise KeyError(id)