Improve handling of file-not-found in remote storage layer.
[cumulus.git] / python / cumulus / store / s3.py
index 0453c21..1e7257a 100644 (file)
@@ -32,7 +32,13 @@ class S3Store(cumulus.store.Store):
 
     def put(self, type, name, fp):
         k = self._get_key(type, name)
-        k.send_file(fp)
+        k.set_contents_from_file(fp)
 
     def delete(self, type, name):
         self.bucket.delete_key("%s/%s/%s" % (self.prefix, type, name))
+
+    def stat(self, type, name):
+        k = self.bucket.get_key("%s/%s/%s" % (self.prefix, type, name))
+        if k is None:
+            raise cumulus.store.NotFoundError
+        return {'size': int(k.size)}