+ def get_buddies_online(self):
+ cdef glib.GSList *iter
+ cdef blist.PurpleBuddy *buddy
+ buddies = []
+ iter = blist.c_purple_find_buddies(self.__account, NULL)
+ while iter:
+ buddy = <blist.PurpleBuddy *> iter.data
+ if <blist.PurpleBuddy *>buddy and \
+ account.c_purple_account_is_connected(blist.c_purple_buddy_get_account(buddy)) and \
+ status.c_purple_presence_is_online(blist.c_purple_buddy_get_presence(buddy)):
+ buddies += [buddy.name]
+ iter = iter.next
+ return buddies