X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=python%2Fcumulus%2Fstore%2Ffile.py;h=83044017ecf497dc6ea06e1fdf6ac354d80dc0da;hb=197d9dca9416c09c7e79e56b88b9eb53c26d30d7;hp=3d536bf45545544f48a45bbf473aef67e0dabda5;hpb=fbe7425ae37564a99eb49133561eea5f1a6c7877;p=cumulus.git diff --git a/python/cumulus/store/file.py b/python/cumulus/store/file.py index 3d536bf..8304401 100644 --- a/python/cumulus/store/file.py +++ b/python/cumulus/store/file.py @@ -33,16 +33,19 @@ class FileStore(cumulus.store.Store): return os.path.join(self.prefix, type, name) def list(self, subdir): - return os.listdir(os.path.join(self.prefix, subdir)) + try: + return os.listdir(os.path.join(self.prefix, subdir)) + except OSError: + raise cumulus.store.NotFoundError(subdir) def get(self, path): - return open(os.path.join(self.prefix, path), 'rb') + try: + return open(os.path.join(self.prefix, path), 'rb') + except IOError: + raise cumulus.store.NotFoundError(path) def put(self, path, fp): - # TODO: Implement - raise NotImplementedError - k = self._get_path(type, name) - out = open(k, 'wb') + out = open(os.path.join(self.prefix, path), 'wb') buf = fp.read(4096) while len(buf) > 0: out.write(buf)