debug.purple_debug_info("conversation", "%s", "create-conversation\n")
cdef char *c_name = NULL
- c_name = <char *> conversation.c_purple_conversation_get_name(conv)
+ c_name = <char *> 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"):
(<object> conversation_cbs["create-conversation"])(name, type)
@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
else:
username = None
- if who:
- sender = <char *> who
- buddy = blist.c_purple_find_buddy(acc, <char *> who)
- c_sender_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
- else:
- sender = None
+ if who == NULL:
+ who = conversation.purple_conversation_get_name(conv)
+
+ sender = <char *> who
+ buddy = blist.purple_find_buddy(acc, <char *> who)
+ if buddy:
+ c_sender_alias = <char *> 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
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"):
(<object> 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, \