X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=buddy.pyx;h=be9f2bd72ac2d6b97de0cbe1ff0b23cd41fb652b;hp=3ccc1001c86a50e33d189935edd8bbeaa5386d79;hb=14e5eeb47b8ddc28b1d35fa74126e3cf18ace098;hpb=9dba02b95bb6bf55147c51fca9477a3d9ae4b3f0 diff --git a/buddy.pyx b/buddy.pyx index 3ccc100..be9f2bd 100644 --- a/buddy.pyx +++ b/buddy.pyx @@ -67,7 +67,7 @@ cdef class Buddy: c_alias = blist.purple_buddy_get_alias_only( \ self._get_structure()) if c_alias: - return c_alias + return unicode(c_alias, 'utf-8') else: return None alias = property(__get_alias) @@ -135,6 +135,30 @@ cdef class Buddy: return None idle = property(__get_idle) + def __get_active_status(self): + cdef status.PurpleStatus* c_status = NULL + cdef char *type = NULL + cdef char *name = NULL + cdef char *msg = NULL + if self.__exists: + active = {} + c_status = status.purple_presence_get_active_status( \ + blist.purple_buddy_get_presence(self._get_structure())) + type = status.purple_status_get_id(c_status) + name = status.purple_status_get_name(c_status) + msg = status.purple_status_get_attr_string(c_status, + "message") + + active['type'] = type + active['name'] = name + if msg: + active['message'] = msg + + return active + else: + return None + active_status = property(__get_active_status) + def set_alias(self, alias): if self.__exists: blist.purple_blist_alias_buddy(self._get_structure(), alias)