diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-09-02 13:01:17 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-09-02 13:01:17 +0200 |
commit | afa1de13f0576ace6dcbb0176490fd20922950cd (patch) | |
tree | 056a5fd646f53dfa83f2fe231ec0943747b15ffc /portato/waiting_queue.py | |
parent | 02d96210d9102f0cdec95b4e0f595cbd8fdd1e10 (diff) | |
download | portato-afa1de13f0576ace6dcbb0176490fd20922950cd.tar.gz portato-afa1de13f0576ace6dcbb0176490fd20922950cd.tar.bz2 portato-afa1de13f0576ace6dcbb0176490fd20922950cd.zip |
Switch from tabs to 4 spaces
Diffstat (limited to '')
-rw-r--r-- | portato/waiting_queue.py | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/portato/waiting_queue.py b/portato/waiting_queue.py index 32839d3..bc2c50c 100644 --- a/portato/waiting_queue.py +++ b/portato/waiting_queue.py @@ -17,47 +17,47 @@ from Queue import Queue class WaitingQueue (Queue): - def __init__ (self, setTrue = True, threadClass = Thread): - if not issubclass(threadClass, Thread): - raise ValueError, "Only subclasses of threading.Thread are allowed." - - Queue.__init__(self) - self.event = Event() - self.counter = 0 - self.threadClass = threadClass - - if setTrue: - self.event.set() # true at the beginning - - waitingThread = self.threadClass(name = "Waiting-Queue-Thread", target = self.runThread) - waitingThread.setDaemon(True) - waitingThread.start() - - def put (self, method, *args, **kwargs): - self.counter += 1; - - if "caller" in kwargs: - name = "Waiting Thread #%d (called by:%s)" % (self.counter, kwargs["caller"]) - del kwargs["caller"] - else: - name = "Waiting Thread #%d" % self.counter - - t = self.threadClass(name = name, target = method, args = args, kwargs = kwargs) - t.setDaemon(True) - Queue.put(self, t, False) - - def runThread (self): - while True: - self.event.wait() - t = self.get(True) - self.event.clear() - t.run() - - def next (self): - self.event.set() - - def clear (self): - self.mutex.acquire() - self.queue.clear() - self.mutex.release() - self.event.set() + def __init__ (self, setTrue = True, threadClass = Thread): + if not issubclass(threadClass, Thread): + raise ValueError, "Only subclasses of threading.Thread are allowed." + + Queue.__init__(self) + self.event = Event() + self.counter = 0 + self.threadClass = threadClass + + if setTrue: + self.event.set() # true at the beginning + + waitingThread = self.threadClass(name = "Waiting-Queue-Thread", target = self.runThread) + waitingThread.setDaemon(True) + waitingThread.start() + + def put (self, method, *args, **kwargs): + self.counter += 1; + + if "caller" in kwargs: + name = "Waiting Thread #%d (called by:%s)" % (self.counter, kwargs["caller"]) + del kwargs["caller"] + else: + name = "Waiting Thread #%d" % self.counter + + t = self.threadClass(name = name, target = method, args = args, kwargs = kwargs) + t.setDaemon(True) + Queue.put(self, t, False) + + def runThread (self): + while True: + self.event.wait() + t = self.get(True) + self.event.clear() + t.run() + + def next (self): + self.event.set() + + def clear (self): + self.mutex.acquire() + self.queue.clear() + self.mutex.release() + self.event.set() |