FIXES:
- Stripped HTML markups from message.
- Added robust treatment for arguments passed to user-defined python callbacks.
Signed-off-by: Bruno Abinader <bruno.abinader@indt.org.br>
git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1321
596f6dd7-e928-0410-a184-
9e12fd12cf7e
cbs["request"] = request_cbs
def buddy_signed_off_cb(name):
cbs["request"] = request_cbs
def buddy_signed_off_cb(name):
- print "---- signal callback example: sign off from buddy %s" % name
+ print "---- sign off from buddy %s" % name
-def receiving_im_msg_cb(sender, message):
- print "---- signal callback example: receiving im message from %s" % sender
- print "---- message: %s" % message
+def receiving_im_msg_cb(sender, name, message):
+ print "---- receiving IM message from %s: %s" % (name, message)
+ return False
signal_cbs["buddy_signed_off"] = buddy_signed_off_cb
signal_cbs["receiving_im_msg"] = receiving_im_msg_cb
signal_cbs["buddy_signed_off"] = buddy_signed_off_cb
signal_cbs["receiving_im_msg"] = receiving_im_msg_cb
cdef void signal_buddy_signed_off_cb (blist.PurpleBuddy *buddy):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal",
"buddy_signed_off\n")
cdef void signal_buddy_signed_off_cb (blist.PurpleBuddy *buddy):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal",
"buddy_signed_off\n")
+
+ if buddy.server_alias:
+ name = buddy.server_alias
+ else:
+ if buddy.alias:
+ name = buddy.alias
+ else:
+ name = buddy.name
+
- (<object>signal_cbs["buddy_signed_off"])(buddy.name)
+ (<object>signal_cbs["buddy_signed_off"])(name)
conversation.PurpleMessageFlags *flags):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal",
"receivinv_im_msg_cb\n")
conversation.PurpleMessageFlags *flags):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "signal",
"receivinv_im_msg_cb\n")
+
+ cdef blist.PurpleBuddy *buddy = blist.c_purple_find_buddy(account, sender[0])
+
+ if buddy.server_alias:
+ name = buddy.server_alias
+ else:
+ if buddy.alias:
+ name = buddy.alias
+ else:
+ name = buddy.name
+
+ stripped_msg = util.c_purple_markup_strip_html(message[0])
+
- (<object>signal_cbs["receiving_im_msg"])(sender[0], message[0])
+ return (<object>signal_cbs["receiving_im_msg"])(sender[0], name, stripped_msg)