#29705: Runtimeerror while Django Image Field received some type of webp file
----------------------------------------+---------------------------
Reporter: Ji Qu | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: master
Severity: Normal | Keywords: image get
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
----------------------------------------+---------------------------
Hi,
This is my first time to report a bug for django-project, please feel free
to give me a hand if I have any non-standard workflow.
I have meet a "RuntimError" while trying to save a webp-image.
I have searched django tickets with following link but no similar ticket
found:
[https://code.djangoproject.com/search?ticket=on&q=webp+&page=6&noquickjump=1
search result]
I have made a **online project** to reproduce the "bug".
- [https://github.com/winkidney/django-webp-image-issue-case github-
repo]
- [https://travis-ci.org/winkidney/django-webp-image-issue-case travis-
ci]
Please follow this link to track how this bug happens and how it affects
my own sites.
A patch is being making to fix the possible "RuntimeError" while saving a
webp page.
For your information, I will also paste the code which could reproduce the
bug.
{{{
import os
from django.core.files.images import get_image_dimensions
import pytest
FILE_NAME = 'img.webp'
here = os.path.dirname(__file__)
file_path = os.path.join(here, FILE_NAME)
def test_webp_parse_error():
"""
Webp file from douban.com, displays in browser well,
can be opened by PIL but error occurs while use django parse.
"""
with pytest.raises(
RuntimeError,
) as info:
with open(file_path, 'rb') as fp:
get_image_dimensions(file_or_path=fp, close=True)
assert str(info.value) == 'could not create decoder object'
def test_the_working_way():
with open(file_path, "rb") as fp:
from PIL import Image
image = Image.open(fp)
print(image.size)
}}}
Please download the image with these links:
From douban:
[https://img3.doubanio.com/view/status/m/public/a606779b213ae14.webp]
From google: [https://developers.google.com/speed/webp/gallery?hl=zh-CN]
[https://www.gstatic.com/webp/gallery/4.sm.webp]
Python version:
Python 3.6.4
Kernel version:
Linux ubuntu 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18
08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Version of libweb:
ii libwebp-dev:amd64 0.4.4-1
amd64 Lossy compression of digital photographic images.
ii libwebp5:amd64 0.4.4-1
amd64 Lossy compression of digital photographic images.
ii libwebpdemux1:amd64 0.4.4-1
amd64 Lossy compression of digital photographic images.
ii libwebpmux1:amd64 0.4.4-1
amd64 Lossy compression of digital photographic images.
When the error occurs:
While I try to save image with webp format, the error occurs.
PS: I don't know how to assign the bug to myself, is there any link or doc
for me to make my pull request?
--
Ticket URL: <https://code.djangoproject.com/ticket/29705>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/052.e01bbc9b8ea46267db94b1dac8db4f51%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.