Files @ dc1ed8ff56ef
Branch filter:

Location: OneEye/src/analyzer/framecache.py - annotation

Laman
cleaned up and documented shutdown
from collections import deque


class FrameCache:
	def __init__(self,capacity=600): # 600 is enough for 10 min of 1 fps
		self._capacity=capacity
		self._keys=deque()
		self._values=dict()
		self._i=0

	def put(self,item):
		self._i+=1
		if len(self._keys)>=self._capacity:
			k=self._keys.popleft()
			del self._values[k]
		self._values[self._i]=item
		self._keys.append(self._i)
		return self._i

	def get(self,k):
		return self._values.get(k)

	def getRelative(self,k):
		return (self._keys[k], self._values[self._keys[k]])