def raw_value(self): """ The raw (uncalibrated) value. """ if self._proto.HasField("rawValue"): return parse_value(self._proto.rawValue) return None
def eng_value(self): """ The engineering (calibrated) value. """ if self._proto.HasField("engValue"): return parse_value(self._proto.engValue) return None
def __iter__(self): buf = None for chunk in self._response.iter_content(chunk_size=4096): if buf is None: buf = chunk else: buf += chunk while len(buf): try: # n is advanced beyond the varint msg_len, n = _DecodeVarint32(buf, 0) except IndexError: break # Need another chunk if n + msg_len > len(buf): break # Need another chunk msg_buf = buf[n:(n + msg_len)] buf = buf[(n + msg_len):] message = table_pb2.ResultSet() message.ParseFromString(msg_buf) if self._columns_proto is None: self._columns_proto = message.columns for row_proto in message.rows: values = [parse_value(v) for v in row_proto.values] yield values
def eng_value(self): """ The engineering (calibrated) value within this range. If the request was made using ``min_range`` option, this will be the most-frequent value only. Retrieve the complete distribution using the ``entries`` attribute. """ max_count = None result = None for idx, count in enumerate(self._proto.counts): if max_count is None or (count > max_count): max_count = count result = self._proto.engValues[idx] if result: return parse_value(result) else: return None
def _update(self, proto): for attr in proto: value = parse_value(attr.value) self.attributes[attr.name] = value
def value(self): """Value for this column.""" return parse_value(self._proto.value)
def eng_value(self): """The engineering (calibrated) value.""" return parse_value(self._proto.engValue)