diff options
author | rfkelly0 <rfkelly0@67cdc799-7952-0410-af00-57a81ceafa0f> | 2010-05-05 03:55:31 +0000 |
---|---|---|
committer | rfkelly0 <rfkelly0@67cdc799-7952-0410-af00-57a81ceafa0f> | 2010-05-05 03:55:31 +0000 |
commit | 74d272151d6f6a63fcd19dc13827d89799beeb5f (patch) | |
tree | b2c77230d2116964e14e2f680a92e60d47eddd9c | |
parent | 3710e72491ecb54cdc2e806a7167039a3a413918 (diff) | |
download | pyfilesystem-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.py | 12 | ||||
-rw-r--r-- | fs/wrapfs/lazyfs.py | 2 |
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: |