X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=blist_cbs.pxd;h=0739b970bdbdd9fe3cfb515d1b9f4acc6c31c247;hp=c1830d6c73a3939291611dd976a7757b3d9367be;hb=HEAD;hpb=55de8749720d1245639c903d2fef844d4e61d19e
diff --git a/blist_cbs.pxd b/blist_cbs.pxd
index c1830d6..0739b97 100644
--- a/blist_cbs.pxd
+++ b/blist_cbs.pxd
@@ -17,8 +17,6 @@
# along with this program. If not, see .
#
-cimport purple
-
cdef extern from *:
ctypedef char const_char "const char"
@@ -26,110 +24,106 @@ blist_cbs = {}
cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
cdef blist.PurpleGroup *group = node
+ cdef char *c_name = NULL
- if group.name:
- name = group.name
+ c_name = blist.purple_group_get_name(group)
+ if c_name == NULL:
+ name = None
else:
- name = ""
+ name = c_name
+
+ currentsize = blist.purple_blist_get_group_size(group, False)
+ totalsize = blist.purple_blist_get_group_size(group, True)
+ online = blist.purple_blist_get_group_online_count(group)
- try:
- callback(node.type, name, group.totalsize, group.currentsize, \
- group.online)
- except KeyError:
- pass
+ callback(node.type, name, totalsize, currentsize, online)
cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
cdef blist.PurpleContact *contact = node
+ cdef char *c_alias = NULL
- if contact.alias:
- alias = contact.alias
+ c_alias = blist.purple_contact_get_alias(contact)
+ if c_alias == NULL:
+ alias = None
else:
- alias = ""
-
- name = ""
+ alias = c_alias
- try:
- callback(node.type, name, alias, contact.totalsize, contact.currentsize, \
- contact.online)
- except KeyError:
- pass
+ callback(node.type, alias, contact.totalsize, contact.currentsize, \
+ contact.online)
cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
cdef blist.PurpleBuddy *buddy = node
+ cdef char *c_name = NULL
+ cdef char *c_alias = NULL
- if buddy.server_alias:
- alias = buddy.server_alias
- elif buddy.alias:
- alias = buddy.alias
+ c_name = blist.purple_buddy_get_name(buddy)
+ if c_name == NULL:
+ name = None
else:
- alias = ""
+ name = c_name
- if buddy.name:
- name = buddy.name
+ c_alias = blist.purple_buddy_get_alias_only(buddy)
+ if c_alias == NULL:
+ alias = None
else:
- name = ""
+ alias = c_alias
- try:
- callback(node.type, name, alias)
- except KeyError:
- pass
+ callback(node.type, name, alias)
cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
cdef blist.PurpleChat *chat = node
+ cdef char *c_name = NULL
- if chat.alias:
- alias = chat.alias
+ c_name = blist.purple_chat_get_name(chat)
+ if c_name == NULL:
+ name = None
else:
- alias = ""
+ name = c_name
- try:
- callback(node.type, alias)
- except KeyError:
- pass
+ callback(node.type, name)
cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
- try:
- callback(node.type)
- except KeyError:
- pass
-
-cdef void new_list (blist.PurpleBuddyList *list):
- debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "blist", "new_list\n")
- try:
- (