self.minlen) def __bool__(self): # type: () -> bool return bool(self._data) __nonzero__ = __bool__ # Py2 @property def _heap_overload(self): # type: () -> float """Compute how much is heap bigger than data [percents].""" return len(self._heap) * 100 / max(len(self._data), 1) - 100 MutableSet.register(LimitedSet) # noqa: E305 class Evictable(object): """Mixin for classes supporting the ``evict`` method.""" Empty = Empty def evict(self): # type: () -> None """Force evict until maxsize is enforced.""" self._evict(range=count) def _evict(self, limit=100, range=range): # type: (int) -> None try:
def __repr__(self): return REPR_LIMITED_SET.format( self, name=type(self).__name__, size=len(self), ) def __iter__(self): return (i for _, i in sorted(values(self._data))) def __len__(self): return len(self._data) def __contains__(self, key): return key in self._data def __reduce__(self): return self.__class__, ( self.maxlen, self.expires, self.as_dict(), self.minlen) def __bool__(self): return bool(self._data) __nonzero__ = __bool__ # Py2 @property def _heap_overload(self): """Compute how much is heap bigger than data [percents].""" if not self._data: return len(self._heap) return len(self._heap) * 100 / len(self._data) - 100 MutableSet.register(LimitedSet)
return self.__class__, ( self.maxlen, self.expires, self.as_dict(), self.minlen) def __bool__(self): # type: () -> bool return bool(self._data) __nonzero__ = __bool__ # Py2 @property def _heap_overload(self): # type: () -> float """Compute how much is heap bigger than data [percents].""" return len(self._heap) * 100 / max(len(self._data), 1) - 100 MutableSet.register(LimitedSet) # noqa: E305 class Evictable(object): """Mixin for classes supporting the ``evict`` method.""" Empty = Empty def evict(self): # type: () -> None """Force evict until maxsize is enforced.""" self._evict(range=count) def _evict(self, limit=100, range=range): # type: (int) -> None try: