home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 October / maximum-cd-2011-10.iso / DiscContents / digsby_setup.exe / lib / plugins / fbchat / own_message.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-06-22  |  2.1 KB  |  53 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import pyxmpp.message as pyxmpp
  5. import jabber
  6. from common.Conversation import default_formatted_text
  7. FACEBOOK_MESSAGES_NS = 'http://www.facebook.com/xmpp/messages'
  8.  
  9. class OwnMessage(object):
  10.     
  11.     def __init__(self, iq):
  12.         self.iq = iq
  13.         self.message = pyxmpp.message.Message(iq.xpath_eval('f:own-message', {
  14.             'f': FACEBOOK_MESSAGES_NS })[0])
  15.         self.from_self = self.message.xmlnode.prop('self').lower() == 'true'
  16.  
  17.     
  18.     def get_to(self):
  19.         return self.message.get_to()
  20.  
  21.     
  22.     def get_from(self):
  23.         return self.iq.get_to()
  24.  
  25.     
  26.     def get_body(self):
  27.         return self.message.get_body()
  28.  
  29.  
  30.  
  31. def setup(protocol, stream, *a, **k):
  32.     
  33.     def handle_own_message(iq):
  34.         om = OwnMessage(iq)
  35.         if om.from_self:
  36.             return None
  37.         _to = om.get_to()
  38.         buddy = protocol.buddies[_to]
  39.         _from = om.get_from()
  40.         tup = (buddy,)
  41.         if tup in protocol.conversations:
  42.             convo = protocol.conversations[tup]
  43.         else:
  44.             convo = jabber.conversation(protocol, buddy, _from)
  45.             protocol.conversations[tup] = convo
  46.             convo.buddy_join(protocol.self_buddy)
  47.             convo.buddy_join(buddy)
  48.         convo.sent_message(default_formatted_text(om.get_body()))
  49.         return True
  50.  
  51.     stream.set_iq_set_handler('own-message', FACEBOOK_MESSAGES_NS, handle_own_message)
  52.  
  53.