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 | f00a97c8598f5169d1f30635e0955b8155ab6fd8 (patch) | |
tree | b2c77230d2116964e14e2f680a92e60d47eddd9c /fs/expose/django_storage.py | |
parent | 4145986771825b3d4efd46d7ab7d2b616271dfcf (diff) | |
download | pyfilesystem-git-f00a97c8598f5169d1f30635e0955b8155ab6fd8.tar.gz |
make django_storage.FSStorage raise OSError, not FSError
Diffstat (limited to 'fs/expose/django_storage.py')
-rw-r--r-- | fs/expose/django_storage.py | 12 |
1 files changed, 9 insertions, 3 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) |