﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
29705	Runtimeerror while Django Image Field received some type of webp file	Ji Qu	nobody	"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?
"	Bug	new	Core (Other)	dev	Normal		image get		Unreviewed	0	0	0	0	0	0
