Merge pull request #1013 from kaedroho/issue-935

Catch OSErrors when getting image file size. Fixes #935
pull/1021/head
Dan Braghis 2015-02-23 09:56:55 +00:00
commit f680588b7d
3 zmienionych plików z 16 dodań i 1 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

@ -121,6 +121,13 @@ class TestImageEditView(TestCase, WagtailTestUtils):
image = Image.objects.get(id=self.image.id)
self.assertEqual(image.title, "Edited")
def test_with_missing_image_file(self):
self.image.file.delete(False)
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'wagtailimages/images/edit.html')
class TestImageDeleteView(TestCase, WagtailTestUtils):
def setUp(self):

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,
})