diff --git a/supysonic/cache.py b/supysonic/cache.py index 8553e17..125f1a8 100644 --- a/supysonic/cache.py +++ b/supysonic/cache.py @@ -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") diff --git a/tests/base/test_cache.py b/tests/base/test_cache.py index b23d5cb..d5c2a30 100644 --- a/tests/base/test_cache.py +++ b/tests/base/test_cache.py @@ -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'