diff --git a/byostorage/cached.py b/byostorage/cached.py index fba18e3..5584bc7 100644 --- a/byostorage/cached.py +++ b/byostorage/cached.py @@ -52,16 +52,20 @@ class CachedStorage(Storage): def _open(self, name, mode='rb'): assert 'r' in mode, "Can only open for reading" - p = self._cached(name) + p = self.path(name) return open(p, mode) def path(self, name): - return self._cached(name) + try: + return self.remote.path(name) + except NotImplementedError: + return self._cached(name) def save(self, name, content, max_length=None): p = self._filepath(name) if os.path.exists(p): os.unlink(p) + # TODO: cache content to p return self.remote.save(name, content, max_length) def delete(self, name):