chickenhouse/gate_guard/data_buffer.py

33 lines
658 B
Python
Raw Permalink Normal View History

'''
Created on Mar 30, 2017
@author: tkla
'''
2016-12-20 21:09:01 +00:00
class DataBuffer(object):
def __init__(self, length):
self.__max = length
self.__data = []
def push(self, element):
if self.__max == 0:
return False
if len(self.__data) == self.__max:
_ = self.__data.pop(0)
self.__data.append(element)
return True
def get(self):
return self.__data
2016-12-20 21:09:01 +00:00
def average(self):
if len(self.__data) is 0:
2016-12-20 21:09:01 +00:00
return None
return sum(self.__data) / len(self.__data)
2016-12-20 21:09:01 +00:00
def length(self):
return len(self.__data)
def clear(self):
self.__data = []