From 4e16098ce74c645cf1d69566b6f8bc96031554b7 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 2 Sep 1992 20:43:20 +0000 Subject: Added a _v21 def to FL.py and added two new input field types Added runcall(func, *args) interfaces to profile.py, bdb.py, pdb.py, wdb.py Added new module bisect.py and used it in sched.py. Mostly cosmetic changes to profile.py (changed output format). --- Lib/sched.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'Lib/sched.py') diff --git a/Lib/sched.py b/Lib/sched.py index 4a4530953d..685b2bc077 100644 --- a/Lib/sched.py +++ b/Lib/sched.py @@ -28,6 +28,8 @@ # XXX instead of having to define a module or class just to hold # XXX the global state of your particular time and delay functtions. +import bisect + class scheduler: # # Initialize a new instance, passing the time and delay functions @@ -43,16 +45,7 @@ class scheduler: # to remove it, if necessary. # def enterabs(self, event): - time, priority, action, argument = event - q = self.queue - # XXX Could use bisection or linear interpolation? - for i in range(len(q)): - qtime, qpri, qact, qarg = q[i] - if time < qtime: break - if time == qtime and priority < qpri: break - else: - i = len(q) - q.insert(i, event) + bisect.insort(self.queue, event) return event # The ID # # A variant that specifies the time as a relative time. -- cgit v1.2.1