Fixes #1114: Suppress OSError when attempting to access a delete image attachment

This commit is contained in:
Jeremy Stretch 2017-04-28 14:26:17 -04:00
parent 010f6c7f1a
commit de58d0ecca
2 changed files with 12 additions and 2 deletions

View File

@ -422,6 +422,16 @@ class ImageAttachment(models.Model):
# before the request finishes. (For example, to display a message indicating the ImageAttachment was deleted.)
self.image.name = _name
@property
def size(self):
"""
Wrapper around `image.size` to suppress an OSError in case the file is inaccessible.
"""
try:
return self.image.size
except OSError:
return None
#
# User actions

View File

@ -7,12 +7,12 @@
<th></th>
</tr>
{% for attachment in images %}
<tr>
<tr{% if not attachment.size %} class="danger"{% endif %}>
<td>
<i class="fa fa-image"></i>
<a href="{{ attachment.image.url }}" target="_blank">{{ attachment }}</a>
</td>
<td>{{ attachment.image.size|filesizeformat }}</td>
<td>{{ attachment.size|filesizeformat }}</td>
<td>{{ attachment.created }}</td>
<td class="text-right">
{% if perms.extras.change_imageattachment %}