From: Ralf Jung <post@ralfj.de>
Date: Sun, 27 Oct 2013 15:51:21 +0000 (+0100)
Subject: Merge branch 'master' of ralfj.de:saartuer
X-Git-Url: https://git.ralfj.de/saartuer.git/commitdiff_plain/e489f494d0bb7ee28ef8c41ef47069ceebe118ee?hp=-c

Merge branch 'master' of ralfj.de:saartuer
---

e489f494d0bb7ee28ef8c41ef47069ceebe118ee
diff --combined waker.py
index 681de1b,dc4627b..4898c25
--- a/waker.py
+++ b/waker.py
@@@ -1,24 -1,18 +1,23 @@@
  from libtuer import ThreadRepeater
 -from collections import namedtuple
  from threading import Lock
  
  SLEEP_TIME = 0.5
  
 -ToBeWoken = namedtuple('ToBeWoken','f period time_since_call one_shot')
 +class ToBeWoken:
 +	'''a simple struct storing information about a to-be-woken function'''
 +	def __init__(self, f, period, one_shot):
 +		self.f = f
 +		self.period = period
 +		self.time_since_call = 0
 +		self.one_shot = one_shot
  
  class Waker():
- 	def __init__(self, sm):
- 		self._sm = sm
- 		self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker")
+ 	def __init__(self):
  		self._tobewokens = []
  		self._tobewokens_lock = Lock()
+ 		self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker")
  	
- 	def register(f, time, one_shot = False):
+ 	def register(self, f, time, one_shot = False):
  		'''Register a function which is called approximately every <time> seconds (or just once, if one_shot is True). f should return quickly, or it will delay the waker!'''
  		time = max(time//SLEEP_TIME, 1)
  		with self._tobewokens_lock: