aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--django/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/django/__init__.py b/django/__init__.py
index f69bffa..10d6728 100644
--- a/django/__init__.py
+++ b/django/__init__.py
@@ -38,7 +38,8 @@ class S3Storage(Storage):
38 return True 38 return True
39 39
40 def exists(self, filename): 40 def exists(self, filename):
41 contents = self.conn.list_bucket(self.options['bucket']) 41 import os
42 contents = self.conn.list_bucket(self.options['bucket'], {'prefix': os.path.dirname(filename)})
42 if filename in [f.key for f in contents.entries]: 43 if filename in [f.key for f in contents.entries]:
43 return True 44 return True
44 else: 45 else:
@@ -122,6 +123,7 @@ class S3Storage(Storage):
122 basefilename = os.path.splitext(filename) 123 basefilename = os.path.splitext(filename)
123 i = 1 124 i = 1
124 while self.exists(filename): 125 while self.exists(filename):
126 i += 1
125 filename = '%s-%d%s' % (basefilename[0], i, basefilename[1]) 127 filename = '%s-%d%s' % (basefilename[0], i, basefilename[1])
126 128
127 return filename 129 return filename