mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-22 08:56:17 +00:00
Remove unused 'Cache.protect' method
This commit is contained in:
parent
7fa1501112
commit
f106923f17
@ -61,7 +61,6 @@ class Cache(object):
|
||||
self.min_time = min_time
|
||||
self.max_size = max_size
|
||||
self._auto_prune = auto_prune
|
||||
self._protected = dict()
|
||||
self._lock = threading.RLock()
|
||||
|
||||
# Create the cache directory
|
||||
@ -119,24 +118,6 @@ class Cache(object):
|
||||
"""The current amount of data cached"""
|
||||
return self._size
|
||||
|
||||
@contextlib.contextmanager
|
||||
def protect(self, key):
|
||||
"""Protect a file from being purged from the cache
|
||||
|
||||
Ex:
|
||||
>>> with cache.protect(key):
|
||||
... cache.delete(key)
|
||||
ProtectedError: File is protected from deletion
|
||||
"""
|
||||
with self._lock:
|
||||
self._protected[key] = self._protected.get(key, 0) + 1
|
||||
yield
|
||||
with self._lock:
|
||||
if self._protected[key] <= 1:
|
||||
del self._protected[key]
|
||||
else:
|
||||
self._protected[key] -= 1
|
||||
|
||||
def touch(self, key):
|
||||
"""Mark a cache entry as fresh"""
|
||||
with self._lock:
|
||||
@ -215,8 +196,6 @@ class Cache(object):
|
||||
with self._lock:
|
||||
if not self.has(key):
|
||||
return
|
||||
if key in self._protected:
|
||||
raise ProtectedError("File is protected from deletion")
|
||||
if time() < self._files[key].expires:
|
||||
raise ProtectedError("File has not expired")
|
||||
|
||||
|
@ -218,35 +218,6 @@ class CacheTestCase(unittest.TestCase):
|
||||
cache.set("key", val_small)
|
||||
self.assertEqual(cache.size, 1)
|
||||
|
||||
def test_protected(self):
|
||||
cache = Cache(self.__dir, 20, min_time=0)
|
||||
val = b'0123456789'
|
||||
|
||||
with cache.protect("key1"):
|
||||
cache.set("key1", val)
|
||||
cache.set("key2", val)
|
||||
cache.set("key3", val)
|
||||
|
||||
self.assertTrue(cache.has("key1"))
|
||||
self.assertFalse(cache.has("key2"))
|
||||
self.assertTrue(cache.has("key3"))
|
||||
|
||||
def test_multi_protect(self):
|
||||
cache = Cache(self.__dir, 10, min_time=0)
|
||||
val = b'0123456789'
|
||||
cache.set("key", val)
|
||||
with cache.protect("key"):
|
||||
with self.assertRaises(ProtectedError):
|
||||
cache.delete("key")
|
||||
|
||||
with cache.protect("key"):
|
||||
with self.assertRaises(ProtectedError):
|
||||
cache.delete("key")
|
||||
|
||||
with self.assertRaises(ProtectedError):
|
||||
cache.delete("key")
|
||||
cache.delete("key")
|
||||
|
||||
def test_no_auto_prune(self):
|
||||
cache = Cache(self.__dir, 10, min_time=0, auto_prune=False)
|
||||
val = b'0123456789'
|
||||
@ -260,25 +231,6 @@ class CacheTestCase(unittest.TestCase):
|
||||
|
||||
self.assertEqual(cache.size, 10)
|
||||
|
||||
def test_clear(self):
|
||||
cache = Cache(self.__dir, 40, min_time=0)
|
||||
val = b'0123456789'
|
||||
|
||||
with cache.protect("key1"):
|
||||
cache.set("key1", val)
|
||||
cache.set("key2", val)
|
||||
cache.set("key3", val)
|
||||
cache.set("key4", val)
|
||||
self.assertEqual(cache.size, 40)
|
||||
|
||||
cache.clear()
|
||||
|
||||
self.assertEqual(cache.size, 10)
|
||||
self.assertTrue(cache.has("key1"))
|
||||
|
||||
cache.clear()
|
||||
self.assertEqual(cache.size, 0)
|
||||
|
||||
def test_min_time_clear(self):
|
||||
cache = Cache(self.__dir, 40, min_time=1)
|
||||
val = b'0123456789'
|
||||
|
Loading…
Reference in New Issue
Block a user