home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 February / maximum-cd-2011-02.iso / DiscContents / digsby_setup85.exe / lib / plugins / msim / MSIMSocket.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-11-24  |  2.4 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import util.Events as Events
  5. import logging
  6. log = logging.getLogger('msim.sock')
  7. from common import socket
  8. from MSIMUtil import msmsg
  9.  
  10. class myspace_socket(socket, Events.EventMixin):
  11.     events = Events.EventMixin.events | set(('on_message', 'on_close'))
  12.     
  13.     def __init__(self):
  14.         socket.__init__(self)
  15.         Events.EventMixin.__init__(self)
  16.         self.buffer = ''
  17.         self.set_terminator('\\final\\')
  18.         log.info('socket created')
  19.  
  20.     
  21.     def found_terminator(self):
  22.         log.debug_s('in : %r %r', self.buffer, self.terminator)
  23.         self.event('on_message', self, msmsg(self.buffer + self.terminator))
  24.         self.buffer = ''
  25.         self.set_terminator(self.terminator)
  26.  
  27.     
  28.     def collect_incoming_data(self, data):
  29.         self.buffer += data
  30.  
  31.     
  32.     def send_msg(self, msg):
  33.         
  34.         try:
  35.             bytes = msg.serialize()
  36.             log.debug_s('out: %r', bytes)
  37.             socket.push(self, bytes)
  38.         except Exception:
  39.             e = None
  40.             self.handle_error(e)
  41.             log.error('Error while trying to send this message: %r', msg)
  42.  
  43.  
  44.     
  45.     def handle_close(self):
  46.         log.warning('socket closed: %r', self)
  47.         self.close()
  48.  
  49.     
  50.     def handle_error(self, e = None):
  51.         socket.handle_error(self, e)
  52.         log.warning('error in socket %r: %r', self, e)
  53.         self.close()
  54.  
  55.     
  56.     def close(self):
  57.         self.event('on_close', self)
  58.         socket.close(self)
  59.  
  60.  
  61.