Catch OSErrors when getting image file size

Fixes #935
pull/1013/head
Karl Hobley 2015-02-19 17:51:40 +00:00
rodzic a6f1764a5c
commit ae8c95eef8
3 zmienionych plików z 9 dodań i 3 usunięć

Wyświetl plik

@ -78,7 +78,7 @@
<dt>{% trans "Max dimensions" %}</dt>
<dd>{{ original_image.width }}x{{ original_image.height }}</dd>
<dt>{% trans "Filesize" %}</dt>
<dd>{{ image.file.size|filesizeformat }}</dd>
<dd>{% if filesize %}{{ filesize|filesizeformat }}{% else %}{% trans "File not found" %}{% endif %}</dd>
</dl>
</div>
</div>

Wyświetl plik

@ -1,5 +1,4 @@
import json
import unittest
from django.test import TestCase
from django.utils.http import urlquote
@ -122,7 +121,6 @@ class TestImageEditView(TestCase, WagtailTestUtils):
image = Image.objects.get(id=self.image.id)
self.assertEqual(image.title, "Edited")
@unittest.expectedFailure
def test_with_missing_image_file(self):
self.image.file.delete(False)

Wyświetl plik

@ -119,10 +119,18 @@ def edit(request, image_id):
except NoReverseMatch:
url_generator_enabled = False
# Get file size
try:
filesize = image.file.size
except OSError:
# File doesn't exist
filesize = None
return render(request, "wagtailimages/images/edit.html", {
'image': image,
'form': form,
'url_generator_enabled': url_generator_enabled,
'filesize': filesize,
})