์ฌ๊ธฐ์์ float division by zero
์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
sorl/thumbnail/engines/pil_engine.py in _get_image_entropy, line 239
๋๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ์ฌ ํธ์ถํ๊ณ ์์ต๋๋ค.
{% thumbnail comment.user.profile.avatar_image "30x30" crop="smart" as im %}
์ด๊ฒ์ ์ผ๋ถ ์ด๋ฏธ์ง์์ ๋ฐ์ํ๊ณ ๋ค๋ฅธ ์ด๋ฏธ์ง์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ๋์๊ฒ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์ด๋ฏธ์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://www.dropbox.com/s/m5e79cvk53ujs7b/Chelsea_physic_garden.jpg?dl=0
๊ฐ๋จํ ์ดํด๋ณด๋ฉด ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
def _get_image_entropy(self, image):
"""calculate the entropy of an image"""
hist = image.histogram()
hist_size = sum(hist)
print hist_size
hist = [float(h) / hist_size for h in hist]
return -sum([p * math.log(p, 2) for p in hist if p != 0])
print hist_size
๋ ์ฝ์์์ 0์ ์ ๊ณตํ๋ฏ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ๊ณ์ฐ์๋ ์ผ์ข
์ try
/ except
ํ์ํ์ง๋ง except
๊ฐ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค!
๋ด๊ฐ sorl-thumbnail==11.12.1b
์ฌ์ฉํ๊ณ ์๋ค๊ณ ๋ง ํ์ด์ผ ํ์ด
๋ํ ์ด๋ฏธ์ง๋ฅผ ๋ ํฌ๊ฒ ์ค์ ํ๋ฉด์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ๋ฒ์๋ฅผ ์ข ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
{% thumbnail comment.user.profile.avatar_image "37x37" crop="smart" as im %}
...ํ์ง๋ง ํ ํฝ์ ๋ ํฌ๋ฉด ๊ทธ๋ ์ง ์์ต๋๋ค.
{% thumbnail comment.user.profile.avatar_image "38x38" crop="smart" as im %}
์๋ง๋ ๊ทธ๊ฒ์ ์ด๋ฏธ์ง๊ฐ ๋งค์ฐ ์์ ๋ ์ํธ๋กํผ ๊ตฌ๋ณ์ด 0์ ํฅํ๋ ๊ฒฝํฅ์ด ์๊ธฐ ๋๋ฌธ์ผ ๊ฒ์ ๋๋ค. ์ด๋ฏธ ์ถ์ ๋ ์ด๋ฏธ์ง์์ ์ํธ๋กํผ ๊ณ์ฐ์ด ์คํ๋๊ณ ์์์ ๋ํ๋ด๋ ๊ฒ์ ๋ฌด์์ ๋๊น? ํ์คํ ์ํธ๋กํผ ํฌ๋กญ ํผ๋ "smartest"์์ญ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ ์ฒด ํฌ๊ธฐ ์ด๋ฏธ์ง์์ ์คํ๋์ด์ผํฉ๋๋ค.
๊ฐ์ ๋ฒ๊ทธ๊ฐ
crop = 'center'๋ฅผ ์ฌ์ฉํด๋ sorl.thumbnail
์์ get_thumbnail
๋ฅผ ํธ์ถํ๋ฉด ๋์ผํ ๋ฒ๊ทธ๊ฐ ์ฌํ๋ฉ๋๋ค.
pillow == 3.1.0์ผ๋ก ์๋ํ์ญ์์ค. # 429๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
@lampslave ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
pillow == 3.1.0์ผ๋ก ์๋ํ์ญ์์ค. # 429๋ฅผ ์ฐธ์กฐํ์ญ์์ค.