Welcome, guest | Sign In | My Account | Store | Cart
#####################
# source/exe_queue.py
#####################

import queue

################################################################################

class Pipe:

   
def __init__(self, obj):
       
self.__obj = obj
       
self.__queue = queue.Queue()

   
def __getattr__(self, name):
        method
= _Method(self.__queue, name)
        setattr
(self, name, method)
       
return method

   
def update(self):
       
while not self.__queue.empty():
            name
, args, kwargs = self.__queue.get()
            getattr
(self.__obj, name)(*args, **kwargs)

################################################################################

class _Method:

   
def __init__(self, queue, name):
       
self.__queue = queue
       
self.__name = name

   
def __call__(self, *args, **kwargs):
       
self.__queue.put((self.__name, args, kwargs))

History