[Sugar-devel] [PATCH] Remove bitmap icon handling from s-p-s
Tomeu Vizoso
tomeu at tomeuvizoso.net
Wed Aug 11 12:07:08 EDT 2010
On Wed, Aug 11, 2010 at 13:28, David Farning <dfarning at gmail.com> wrote:
> On Wed, Aug 11, 2010 at 5:02 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>> On Wed, Aug 11, 2010 at 00:38, Bernie Innocenti <bernie at codewiz.org> wrote:
>>> This patch gets rid of some almost-dead code in sugar-presence-service
>>> for handling bitmap avatars.
>>
>> The idea is that the PS is going to disappear soon. Do we really want
>> to make such cleanups given that?
>
> There is a good chance that sugar .84 and sugar .88 code will be
> around for awhile due to olpc and paraguayeduca basing releases on
> them.
Even then, I'm not sure cleanups make much sense in stable branches,
because what you want there is stability and a cleanup is not going to
give you that.
I don't particularly care if this goes in or not, just don't see the point.
> The question then becomes -- who should make and maintain those cleanups?
I guess the branch maintainers?
Regards,
Tomeu
> david
>
>> Regards,
>>
>> Tomeu
>>
>>> Signed-off-by: Bernie Innocenti <bernie at codewiz.org>
>>> ---
>>> src/buddy.py | 63 +--------------------------------------------------------
>>> 1 files changed, 2 insertions(+), 61 deletions(-)
>>>
>>> diff --git a/src/buddy.py b/src/buddy.py
>>> index d81952e..4335f2d 100644
>>> --- a/src/buddy.py
>>> +++ b/src/buddy.py
>>> @@ -69,37 +69,6 @@ def _buddy_icon_save_cb(buf, data):
>>> data[0] += buf
>>> return True
>>>
>>> -def _get_buddy_icon_at_size(icon, maxw, maxh, maxsize):
>>> -# FIXME Do not import gtk in the presence service,
>>> -# it uses a lot of memory and slow down startup.
>>> -# loader = gtk.gdk.PixbufLoader()
>>> -# loader.write(icon)
>>> -# loader.close()
>>> -# unscaled_pixbuf = loader.get_pixbuf()
>>> -# del loader
>>> -#
>>> -# pixbuf = unscaled_pixbuf.scale_simple(maxw, maxh, gtk.gdk.INTERP_BILINEAR)
>>> -# del unscaled_pixbuf
>>> -#
>>> -# data = [""]
>>> -# quality = 90
>>> -# img_size = maxsize + 1
>>> -# while img_size > maxsize:
>>> -# data = [""]
>>> -# pixbuf.save_to_callback(_buddy_icon_save_cb, "jpeg",
>>> -# {"quality":"%d" % quality}, data)
>>> -# quality -= 10
>>> -# img_size = len(data[0])
>>> -# del pixbuf
>>> -#
>>> -# if img_size > maxsize:
>>> -# data = [""]
>>> -# raise RuntimeError("could not size image less than %d bytes" % maxsize)
>>> -#
>>> -# return str(data[0])
>>> -
>>> - return ""
>>> -
>>> class Buddy(ExportedGObject):
>>> """Person on the network (tracks properties and shared activites)
>>>
>>> @@ -212,20 +181,9 @@ class Buddy(ExportedGObject):
>>> _logger.debug("Invalid init property '%s'; ignoring..." % key)
>>> del kwargs[key]
>>>
>>> - # Set icon after superclass init, because it sends DBus and GObject
>>> - # signals when set
>>> - icon_data = None
>>> - if kwargs.has_key(_PROP_ICON):
>>> - icon_data = kwargs[_PROP_ICON]
>>> - del kwargs[_PROP_ICON]
>>> -
>>> ExportedGObject.__init__(self, bus, self._object_path,
>>> gobject_properties=kwargs)
>>>
>>> - if icon_data is not None:
>>> - self._icon = str(icon_data)
>>> - self.IconChanged(self._icon)
>>> -
>>> def __repr__(self):
>>> return '<ps.buddy.Buddy %s>' % (self._nick or u'').encode('utf-8')
>>>
>>> @@ -893,17 +851,6 @@ class GenericOwner(Buddy):
>>> if maxsize > 0 and size > maxsize:
>>> size = maxsize
>>>
>>> - if 1:
>>> - # FIXME: Avatars have been disabled for Trial-2 due to performance
>>> - # issues in the avatar cache. Revisit this afterwards
>>> - pass
>>> - else:
>>> - img_data = _get_buddy_icon_at_size(icon_data, width, height, size)
>>> - conn[CONN_INTERFACE_AVATARS].SetAvatar(img_data, "image/jpeg",
>>> - reply_handler=set_self_avatar_cb,
>>> - error_handler=lambda e:
>>> - _logger.warning('Error setting avatar: %s', e))
>>> -
>>> def _property_changed(self, changed_props):
>>> for tp in self._handles.iterkeys():
>>>
>>> @@ -963,8 +910,7 @@ class ShellOwner(GenericOwner):
>>> bus -- a connection to the D-Bus session bus
>>>
>>> Retrieves initial property values from the profile
>>> - module. Loads the buddy icon from file as well.
>>> - XXX note: no error handling on that
>>> + module.
>>>
>>> calls GenericOwner.__init__
>>> """
>>> @@ -981,14 +927,9 @@ class ShellOwner(GenericOwner):
>>> if not isinstance(nick, unicode):
>>> nick = unicode(nick, 'utf-8')
>>>
>>> - icon_file = os.path.join(env.get_profile_path(), "buddy-icon.jpg")
>>> - f = open(icon_file, "r")
>>> - icon = f.read()
>>> - f.close()
>>> -
>>> GenericOwner.__init__(self, ps, bus,
>>> 'keyid/' + psutils.pubkey_to_keyid(key),
>>> - key=key, nick=nick, color=color, icon=icon, key_hash=key_hash,
>>> + key=key, nick=nick, color=color, key_hash=key_hash,
>>> tags=tags)
>>>
>>> # Ask to get notifications on Owner object property changes in the
>>> --
>>> 1.7.2.1
>>>
>>>
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>
>
More information about the Sugar-devel
mailing list