home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2012 January / maximum-cd-2012-01.iso / DiscContents / digsby_setup.exe / lib / plugins / digsbyipcaction / funcs.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-10-05  |  1.8 KB  |  54 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import sys
  5. import simplejson
  6. IPC_HOOK = 'digsby.ipcaction'
  7.  
  8. def quote_escape(s):
  9.     return s.replace('"', '\\"')
  10.  
  11.  
  12. def quote_unescape(s):
  13.     return s.replace('\\"', '"')
  14.  
  15.  
  16. def register_ipc_handlers():
  17.     import config as digsbyconfig
  18.     if digsbyconfig.platformName != 'win':
  19.         return None
  20.     import wx
  21.     import hooks
  22.     listen = listen
  23.     import ipc
  24.     
  25.     def on_ipc(msg):
  26.         
  27.         try:
  28.             (method, kwargs) = msg.split(':', 1)
  29.         except ValueError:
  30.             method = msg
  31.             kwargs = '{}'
  32.  
  33.         kwargs = simplejson.loads(quote_unescape(kwargs))
  34.         wx.CallAfter(hooks.notify, IPC_HOOK, impl = method, **kwargs)
  35.  
  36.     listen(on_ipc)
  37.  
  38.  
  39. def funccall(method, **kwargs):
  40.     if kwargs:
  41.         argstring = quote_escape(simplejson.dumps(kwargs))
  42.         return '"%s"' % ':'.join([
  43.             method,
  44.             argstring])
  45.     return method
  46.  
  47.  
  48. def handle_ipc_action():
  49.     if sys.opts.action:
  50.         import ipc
  51.         ipc.send_message(sys.opts.action)
  52.         return True
  53.  
  54.