Guest User

Untitled

a guest
Nov 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.85 KB | None | 0 0
  1.  
  2. class GobjectQueue(Queue.Queue):
  3.     def __init__(self,*args):
  4.         self.callback = []
  5.         self.sock = socket.socket()
  6.         while 1:
  7.             try:
  8.                 self.port = random.randint(50000,65534)
  9.                 self.sock.bind(("127.0.0.1",self.port))
  10.                 self.sock.listen(1)
  11.                 break;
  12.             except:
  13.                 continue
  14.         gobject.io_add_watch(self.sock, gobject.IO_IN, self._on_data)
  15.         Queue.Queue.__init__(self, *args)
  16.    
  17.     def put(self, data):
  18.         Queue.Queue.put(self,data)
  19.         s = socket.socket()
  20.         s.connect(("127.0.0.1",self.port))
  21.        
  22.     def get(self,*args,**kw):
  23.         self.sock.accept()
  24.         return Queue.Queue.get(self,timeout=0.1)
  25.    
  26.     def _on_data(self,*args):
  27.         for i in self.callback:
  28.             i(self)
  29.         return True
Add Comment
Please, Sign In to add comment