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: |