Files
@ 52d1a214c032
Branch filter:
Location: OneEye/src/analyzer/framecache.py - annotation
52d1a214c032
527 B
text/x-python
refactoring and documenting API
f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 f4097dbb3757 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 f4097dbb3757 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 6f9ec51a8142 | 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]])
|