Choosing an avatar : Catch also invalid format errors for files < 16kb
This commit is contained in:
parent
c4d10a780e
commit
2052410b3c
|
@ -132,7 +132,7 @@ class ProfileWindow:
|
|||
try:
|
||||
pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
|
||||
# get the image at 'notification size'
|
||||
# and use that user did not specify in ACE crazy size
|
||||
# and hope that user did not specify in ACE crazy size
|
||||
scaled_pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf,
|
||||
'tooltip')
|
||||
except gobject.GError, msg: # unknown format
|
||||
|
@ -149,13 +149,17 @@ class ProfileWindow:
|
|||
'avatar_scaled.png')
|
||||
scaled_pixbuf.save(path_to_file, 'png')
|
||||
must_delete = True
|
||||
self.dialog.destroy()
|
||||
|
||||
|
||||
fd = open(path_to_file, 'rb')
|
||||
data = fd.read()
|
||||
pixbuf = gtkgui_helpers.get_pixbuf_from_data(data)
|
||||
# rescale it
|
||||
pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard')
|
||||
try:
|
||||
# rescale it
|
||||
pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'vcard')
|
||||
except AttributeError: # unknown format
|
||||
dialogs.ErrorDialog(_('Could not load image'), msg)
|
||||
return
|
||||
self.dialog.destroy()
|
||||
button = self.xml.get_widget('PHOTO_button')
|
||||
image = button.get_image()
|
||||
image.set_from_pixbuf(pixbuf)
|
||||
|
|
17
src/vcard.py
17
src/vcard.py
|
@ -139,16 +139,17 @@ class VcardWindow:
|
|||
if invalid_file:
|
||||
dialogs.ErrorDialog(_('Could not load image'), msg)
|
||||
return
|
||||
pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
|
||||
if filesize > 16384: # 16 kb
|
||||
try:
|
||||
try:
|
||||
pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
|
||||
if filesize > 16384: # 16 kb
|
||||
# get the image at 'notification size'
|
||||
# and use that user did not specify in ACE crazy size
|
||||
# and hope that user did not specify in ACE crazy size
|
||||
pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'tooltip')
|
||||
except gobject.GError, msg: # unknown format
|
||||
# msg should be string, not object instance
|
||||
msg = str(msg)
|
||||
invalid_file = True
|
||||
except gobject.GError, msg: # unknown format
|
||||
# msg should be string, not object instance
|
||||
msg = str(msg)
|
||||
dialogs.ErrorDialog(_('Could not load image'), msg)
|
||||
return
|
||||
puny_jid = helpers.sanitize_filename(self.contact.jid)
|
||||
path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png'
|
||||
pixbuf.save(path_to_file, 'png')
|
||||
|
|
Loading…
Reference in New Issue