summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrfkelly0 <rfkelly0@67cdc799-7952-0410-af00-57a81ceafa0f>2010-05-05 03:55:31 +0000
committerrfkelly0 <rfkelly0@67cdc799-7952-0410-af00-57a81ceafa0f>2010-05-05 03:55:31 +0000
commit74d272151d6f6a63fcd19dc13827d89799beeb5f (patch)
treeb2c77230d2116964e14e2f680a92e60d47eddd9c
parent3710e72491ecb54cdc2e806a7167039a3a413918 (diff)
downloadpyfilesystem-74d272151d6f6a63fcd19dc13827d89799beeb5f.tar.gz
make django_storage.FSStorage raise OSError, not FSError
git-svn-id: http://pyfilesystem.googlecode.com/svn/trunk@348 67cdc799-7952-0410-af00-57a81ceafa0f
-rw-r--r--fs/expose/django_storage.py12
-rw-r--r--fs/wrapfs/lazyfs.py2
2 files changed, 10 insertions, 4 deletions
diff --git a/fs/expose/django_storage.py b/fs/expose/django_storage.py
index 86709b0..ed8b303 100644
--- a/fs/expose/django_storage.py
+++ b/fs/expose/django_storage.py
@@ -9,8 +9,8 @@ Use an FS object for Django File Storage
from django.conf import settings
from django.core.files.storage import Storage
-from fs.path import abspath
-
+from fs.path import abspath, dirname
+from fs.errors import convert_fs_errors
class FSStorage(Storage):
"""Expose an FS object as a Django File Storage object."""
@@ -34,19 +34,25 @@ class FSStorage(Storage):
raise NotImplementedError
return path
+ @convert_fs_errors
def size(self,name):
return self.fs.getsize(name)
+ @convert_fs_errors
def url(self,name):
return self.base_url + abspath(name)
+ @convert_fs_errors
def _open(self,name,mode):
- return selfs.fs.open(name,mode)
+ return self.fs.open(name,mode)
+ @convert_fs_errors
def _save(self,name,content):
+ self.fs.makedir(dirname(name),allow_recreate=True,recursive=True)
self.fs.setcontents(name,content)
return name
+ @convert_fs_errors
def delete(self,name):
try:
self.fs.remove(name)
diff --git a/fs/wrapfs/lazyfs.py b/fs/wrapfs/lazyfs.py
index c9b284b..59f7f70 100644
--- a/fs/wrapfs/lazyfs.py
+++ b/fs/wrapfs/lazyfs.py
@@ -40,7 +40,7 @@ class LazyFS(WrapFS):
self._lazy_creation_lock = Lock()
def _get_wrapped_fs(self):
- """Obtain the wrapped FS instance, created it if necessary."""
+ """Obtain the wrapped FS instance, creating it if necessary."""
try:
return self.__dict__["wrapped_fs"]
except KeyError: