| 48 p.next=n |
48 p.next=n |
| 49 self.next=None |
49 self.next=None |
| 50 self.prev=None |
50 self.prev=None |
| 51 |
51 |
| 52 class ScheduledEvent(QueuedEvent): |
52 class ScheduledEvent(QueuedEvent): |
| 53 #@accepts(ScheduledEvent, sleep.Time, threading.Cond, str) |
53 #@accepts(ScheduledEvent, dreamtime.Time, threading.Cond, str) |
| 54 def __init__(self, when, cond, name=None): |
54 def __init__(self, when, cond, name=None): |
| 55 super().__init__(cond, name=name) |
55 super().__init__(cond, name=name) |
| 56 self.when=when |
56 self.when=when |
| 57 |
57 |
| 58 def __lt__(self, other): |
58 def __lt__(self, other): |
| 111 # when the computer wakes up from sleep |
111 # when the computer wakes up from sleep |
| 112 def __init__(self, precision=60): |
112 def __init__(self, precision=60): |
| 113 self.precision = precision |
113 self.precision = precision |
| 114 self._next_event_time = None |
114 self._next_event_time = None |
| 115 super().__init__(target = self._scheduler_thread, name = 'Scheduler') |
115 super().__init__(target = self._scheduler_thread, name = 'Scheduler') |
| 116 sleep.add_callback(self, self._wakeup_callback) |
116 dreamtime.add_callback(self, self._wakeup_callback) |
| 117 |
117 |
| 118 def _scheduler_thread(self): |
118 def _scheduler_thread(self): |
| 119 logger.debug("Scheduler thread started") |
119 logger.debug("Scheduler thread started") |
| 120 with self._cond: |
120 with self._cond: |
| 121 while not self._terminate: |
121 while not self._terminate: |