X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=conversation_cbs.pxd;h=f3a6bd7ff12e5d3a4fb06e5ef752f7a0fc8f894d;hp=1d0c76a639ef578707a44b2b6d697952cf16469f;hb=8c0353cd18905a1e49fc3116b5a98b319ba3a380;hpb=e2eef524bf0c883406b15674eac0769c017d35c6 diff --git a/conversation_cbs.pxd b/conversation_cbs.pxd index 1d0c76a..f3a6bd7 100644 --- a/conversation_cbs.pxd +++ b/conversation_cbs.pxd @@ -34,13 +34,13 @@ cdef void create_conversation(conversation.PurpleConversation *conv): debug.purple_debug_info("conversation", "%s", "create-conversation\n") cdef char *c_name = NULL - c_name = conversation.c_purple_conversation_get_name(conv) + c_name = conversation.purple_conversation_get_name(conv) if c_name == NULL: name = None else: name = c_name - type = conversation.c_purple_conversation_get_type(conv) + type = conversation.purple_conversation_get_type(conv) if conversation_cbs.has_key("create-conversation"): ( conversation_cbs["create-conversation"])(name, type) @@ -74,7 +74,7 @@ cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \ @see purple_conv_im_write() """ debug.purple_debug_info("conversation", "%s", "write-im\n") - cdef account.PurpleAccount *acc = conversation.c_purple_conversation_get_account(conv) + cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv) cdef blist.PurpleBuddy *buddy = NULL cdef char *c_username = NULL cdef char *c_sender_alias = NULL @@ -85,15 +85,16 @@ cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \ else: username = None - if who: - sender = who - buddy = blist.c_purple_find_buddy(acc, who) - c_sender_alias = blist.c_purple_buddy_get_alias_only(buddy) - else: - sender = None + if who == NULL: + who = conversation.purple_conversation_get_name(conv) + + sender = who + buddy = blist.purple_find_buddy(acc, who) + if buddy: + c_sender_alias = blist.purple_buddy_get_alias_only(buddy) if c_sender_alias: - sender_alias = c_sender_alias + sender_alias = unicode(c_sender_alias, 'utf-8') else: sender_alias = None @@ -102,9 +103,15 @@ cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \ else: message = None + # FIXME: Maybe we need add more purple flags in the future + if flags & conversation.PURPLE_MESSAGE_SEND: + flag = "SEND" + else: + flag = "RECV" + if conversation_cbs.has_key("write-im"): ( conversation_cbs["write-im"])(username, sender, \ - sender_alias, message) + sender_alias, message, flag) cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \ const_char *alias, const_char *message, \