def __get_windowed_points(self, tstmp, value): self.agg_buffer[tstmp] = value for tstmp_old in self.agg_buffer.keys(): if tstmp_old <= tstmp - self.window: del self.agg_buffer[tstmp_old] continue break return viewvalues(self.agg_buffer)
def traverse(cls, obj, visitor): """ Deep traverse dict with visitor :type obj: list or dict or object :type visitor: callable """ if isinstance(obj, dict): visitor(obj) for val in viewvalues(obj): cls.traverse(val, visitor) elif isinstance(obj, list): for val in obj: cls.traverse(val, visitor)