changeset f932e0bd4e10 in /home/hg/repos/gajim-plugins
author: tmolitor thilo@eightysoft.de branches: details:gajim-plugins?cmd=changeset;node=f932e0bd4e10 description: Some more small bugfixes...
diffstat:
url_image_preview/http_functions.py | 1 + url_image_preview/manifest.ini | 2 +- url_image_preview/url_image_preview.py | 29 ++++++++++++++++++----------- 3 files changed, 20 insertions(+), 12 deletions(-)
diffs (67 lines):
diff -r acd800955f5a -r f932e0bd4e10 url_image_preview/http_functions.py --- a/url_image_preview/http_functions.py Wed Sep 07 04:27:41 2016 +0200 +++ b/url_image_preview/http_functions.py Wed Sep 07 04:42:12 2016 +0200 @@ -1,4 +1,5 @@ import urllib2 +import socket
from common import helpers from common import gajim diff -r acd800955f5a -r f932e0bd4e10 url_image_preview/manifest.ini --- a/url_image_preview/manifest.ini Wed Sep 07 04:27:41 2016 +0200 +++ b/url_image_preview/manifest.ini Wed Sep 07 04:42:12 2016 +0200 @@ -1,7 +1,7 @@ [info] name: Url image preview short_name: url_image_preview -version: 0.9.1 +version: 0.9.2 description: Url image preview in chatbox.<br/> Based on patch in <a href="http://trac.gajim.org/attachment/ticket/5300">ticket #5300</a>. authors = Denis Fomin fominde@gmail.com diff -r acd800955f5a -r f932e0bd4e10 url_image_preview/url_image_preview.py --- a/url_image_preview/url_image_preview.py Wed Sep 07 04:27:41 2016 +0200 +++ b/url_image_preview/url_image_preview.py Wed Sep 07 04:42:12 2016 +0200 @@ -133,7 +133,7 @@ log.error("Error creating download and/or thumbnail folder!") raise
- def deinit(): + def deinit(self): # remove all register handlers on wigets, created by self.xml # to prevent circular references among objects for i in list(self.handlers.keys()): @@ -244,16 +244,23 @@
if use_gtk: log.info("Pillow not available or file corrupt, trying to load using gdk pixbuf.") - output = BytesIO() - loader = gtk.gdk.PixbufLoader() - loader.write(mem) - loader.close() - pixbuf = loader.get_pixbuf() - pixbuf, w, h = self._get_pixbuf_of_size(pixbuf, size) - def cb(buf, data=None): - output.write(buf) - return True - pixbuf.save_to_callback(cb, "jpeg", {"quality": "100"}) + try: + output = BytesIO() + loader = gtk.gdk.PixbufLoader() + loader.write(mem) + loader.close() + pixbuf = loader.get_pixbuf() + pixbuf, w, h = self._get_pixbuf_of_size(pixbuf, size) + def cb(buf, data=None): + output.write(buf) + return True + pixbuf.save_to_callback(cb, "jpeg", {"quality": "100"}) + except Exception as e: + if output: + output.close() + log.info("Failed to load image using gdk pixbuf, ignoring image.") + log.debug(e) + return ('', '')
mem = output.getvalue() output.close()