Reference file in storage backend by name and not by path.

This commit is contained in:
Roberto Rosario
2015-07-13 02:03:30 -04:00
parent 8c603ce2ff
commit d5b5927c77
4 changed files with 9 additions and 9 deletions

View File

@@ -34,11 +34,11 @@ class SharedUploadedFile(models.Model):
super(SharedUploadedFile, self).save(*args, **kwargs)
def delete(self, *args, **kwargs):
self.file.storage.delete(self.file.path)
self.file.storage.delete(self.file.name)
return super(SharedUploadedFile, self).delete(*args, **kwargs)
def open(self):
return self.file.storage.open(self.file.path)
return self.file.storage.open(self.file.name)
@python_2_unicode_compatible

View File

@@ -59,7 +59,7 @@ class DocumentVersionSignatureManager(models.Manager):
def detached_signature(self, document_version):
document_signature = self.get_document_signature(document_version=document_version)
return document_signature.signature_file.storage.open(document_signature.signature_file.path)
return document_signature.signature_file.storage.open(document_signature.signature_file.name)
def verify_signature(self, document_version):
document_version_descriptor = document_version.open(raw=True)

View File

@@ -37,7 +37,7 @@ class DocumentVersionSignature(models.Model):
self.save()
def delete_detached_signature_file(self):
self.signature_file.storage.delete(self.signature_file.path)
self.signature_file.storage.delete(self.signature_file.name)
class Meta:
verbose_name = _('Document version signature')

View File

@@ -411,7 +411,7 @@ class DocumentVersion(models.Model):
for page in self.pages.all():
page.delete()
self.file.storage.delete(self.file.path)
self.file.storage.delete(self.file.name)
return super(DocumentVersion, self).delete(*args, **kwargs)
@@ -420,7 +420,7 @@ class DocumentVersion(models.Model):
Returns a boolean value that indicates if the document's file
exists in storage
"""
return self.file.storage.exists(self.file.path)
return self.file.storage.exists(self.file.name)
def open(self, raw=False):
"""
@@ -428,9 +428,9 @@ class DocumentVersion(models.Model):
the storage backend
"""
if raw:
return self.file.storage.open(self.file.path)
return self.file.storage.open(self.file.name)
else:
result = self.file.storage.open(self.file.path)
result = self.file.storage.open(self.file.name)
for key in sorted(DocumentVersion._pre_open_hooks):
result = DocumentVersion._pre_open_hooks[key](result, self)
@@ -457,7 +457,7 @@ class DocumentVersion(models.Model):
@property
def size(self):
if self.exists():
return self.file.storage.size(self.file.path)
return self.file.storage.size(self.file.name)
else:
return None