changeset bb1902ae63e3 in /home/hg/repos/gajim
author: tmolitor thilo@eightysoft.de branches: details:http://hg.gajim.org/gajim?cmd=changeset;node=bb1902ae63e3 description: Added ability to display avatars in all image formats that are supported by pillow (if pillow is available)
diffstat:
src/gtkgui_helpers.py | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diffs (32 lines):
diff -r 8b6fa5e3f8de -r bb1902ae63e3 src/gtkgui_helpers.py --- a/src/gtkgui_helpers.py Mon Apr 04 22:51:47 2016 +0200 +++ b/src/gtkgui_helpers.py Tue Apr 05 18:59:55 2016 +0200 @@ -37,6 +37,11 @@ import os import sys import importlib +try: + from PIL import Image +except: + pass +from io import BytesIO
import logging log = logging.getLogger('gajim.gtkgui_helpers') @@ -418,6 +423,16 @@ returns 'jpeg', 'png' etc """ pixbufloader = GdkPixbuf.PixbufLoader() + # try to open and convert every image format supported by PILLOW to png format + try: + avatar = Image.open(BytesIO(file_data)).convert("RGB") + output = BytesIO() + avatar.save(output, format='PNG') + file_data = output.getvalue() + output.close() + except: + log.debug("Could not use pillow to convert avatar image (this is non fatal)") + pass # this didn't work, so just use the old gtk code to import the image try: pixbufloader.write(file_data) pixbufloader.close()