def respond(who, conversation, saying): logger.debug("in serial respond") delayed_reply.do_delayed_reply ( who , conversation , saying , 5 , 10 , purp.get_purple(purp.get_bus()) , logger )
def doood(account, sender, message, conversation, flags): logger.debug("entering 'doood' signal-handler") logger.debug("\taccount = %s", str(account)) logger.debug("\tsender = %s", str(sender)) logger.debug("\tmessage = %s", str(message)) logger.debug("\tconversation = %s", str(conversation)) logger.debug("\tflags = %s", str(flags)) purple = purp.get_purple(purp.get_bus()) cd = purple.PurpleConversationGetChatData( conversation ) the_im = purple.PurpleConvIm( conversation ) logger.debug("\tdata = %s", str(the_im)) # intentionally disabled test code if 1 == 0: for i in range(0,65500): msgtxt = '' try: msgtxt = purple.PurpleConversationMessageGetMessage(i) except: pass else: if len(msgtxt) != 0: logger.debug("i = %d; msg = %s", i, msgtxt) if sender in ConfigData[u"users"]: logger.debug("\t%s said: '%s'", sender, message) for key in ConfigData[u"replies"].iterkeys(): if string.find(string.lower(message), string.lower(key)) != -1: #debug info logger.debug("responding to: '%s'", key) try: if ParallelRespond: #print "not running in parallel yet" #respond(sender, conversation, ConfigData[u"replies"][key]) logger.debug("Spawning new process to handle '%s' message from %s" % (key, sender)) subp.Popen( [ os.path.join(os.path.dirname(__file__), "other_guy.py") , str(sender) , str(conversation) , ConfigData[u"replies"][key] , str(3) # sleep while 'thinking' , str(5) # sleep while 'typing' ] ) logger.debug("hmmmm") # return 0 else: respond(sender, conversation, ConfigData[u"replies"][key]) except dbus.exceptions.DBusException: import traceback (type, value, tb) = sys.exc_info() logger.error("DBus Error. Run in debug mode for more information.") logger.debug(string.join(traceback.format_exception(type, value, tb))) break
#!/usr/bin/env python import the_purple as purp import sys, gobject, logging, time, random import delayed_reply logger = logging.getLogger("other_guy") if __name__ == "__main__": who = sys.argv[1] conversation = int( sys.argv[2] ) saying = sys.argv[3] sleep_time_for_fake_thought = int( sys.argv[4] ) sleep_time_for_fake_typing = int( sys.argv[5] ) bus = purp.get_bus() purple = purp.get_purple(purp.get_bus()) delayed_reply.do_delayed_reply( who , conversation , saying , sleep_time_for_fake_thought , sleep_time_for_fake_typing , purple , logger )