Commit bd63700f by rfkelly0

S3FS: use get_bucket rather than create_bucket until we know the bucket doesn't exist.

parent ed38a871
...@@ -86,7 +86,12 @@ class S3FS(FS): ...@@ -86,7 +86,12 @@ class S3FS(FS):
try: try:
return self.__dict__['_s3bukt'] return self.__dict__['_s3bukt']
except KeyError: except KeyError:
b = self._s3conn.create_bucket(self._bucket_name) try:
b = self._s3conn.get_bucket(self._bucket_name)
except S3ResponseError, e:
if "404 Not Found" not in str(e):
raise e
b = self._s3conn.create_bucket(self._bucket_name)
self.__dict__['_s3bukt'] = b self.__dict__['_s3bukt'] = b
return b return b
_s3bukt = property(_s3bukt) _s3bukt = property(_s3bukt)
......
...@@ -711,7 +711,7 @@ class TestAppendZipFS(TestWriteZipFS): ...@@ -711,7 +711,7 @@ class TestAppendZipFS(TestWriteZipFS):
import s3fs import s3fs
class TestS3FS(TestOSFS): class TestS3FS(TestOSFS):
bucket = "test-s3fs.rfk.id.au" bucket = "test-s3fs-new.rfk.id.au"
def setUp(self): def setUp(self):
self.fs = s3fs.S3FS(self.bucket,"/unittest/files") self.fs = s3fs.S3FS(self.bucket,"/unittest/files")
...@@ -728,7 +728,7 @@ class TestS3FS(TestOSFS): ...@@ -728,7 +728,7 @@ class TestS3FS(TestOSFS):
self._clear() self._clear()
for k in self.fs._s3bukt.list(): for k in self.fs._s3bukt.list():
self.fs._s3bukt.delete_key(k) self.fs._s3bukt.delete_key(k)
self.fs._s3conn.delete_bucket(self.bucket) #self.fs._s3conn.delete_bucket(self.bucket)
def check(self, p): def check(self, p):
return self.fs.exists(p) return self.fs.exists(p)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment