X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=sql-edition%2Fservers%2FIdler.py;h=392da6b3b3c9ed36f81e83d04ee952e2c23ea338;hb=2f8cafa1fa1b3720f13072fa4e01d00c2f291d80;hp=555630f038e212f0bf64e4c1a19b82af09fc3727;hpb=cfeb950d84e7ae33007df9185348d0569361086c;p=zanchey%2Fdispense2.git diff --git a/sql-edition/servers/Idler.py b/sql-edition/servers/Idler.py index 555630f..392da6b 100755 --- a/sql-edition/servers/Idler.py +++ b/sql-edition/servers/Idler.py @@ -1,7 +1,8 @@ #!/usr/bin/env python -import string +import string, time from random import random +from MessageKeeper import MessageKeeper orderings = None @@ -14,6 +15,9 @@ class Idler: def reset(self): pass + + def finished(self): + return False class TrainIdler(Idler): def __init__(self, v): @@ -178,4 +182,47 @@ class GrayIdler(Idler): self.i = 0 self.grayCode = 0 if self.reorder: - self.reorder = int(random()*40320) + self.reorder = int(random()*40319)+1 + + +class StringIdler(Idler): + def __init__(self, v, text="Hello Cruel World! ",repeat=True): + self.v = v + self.mk = MessageKeeper(v) + self.text = self.clean_text(text) + " " + + msg = [("",False, None),(self.text, repeat, 0.8)] + self.mk.set_messages(msg) + + def clean_text(self, text): + # nothing like a bit of good clean text :) + valid = string.digits \ + + string.letters \ + + string.punctuation \ + + " " + # uppercase it + text = string.upper(text) + clean = "" + for char in text: + if char in valid: + clean = clean + char + else: + clean = clean + " " + return clean + + def next(self): + self.mk.update_display() + + def finished(self): + return self.mk.done() + +class ClockIdler(Idler): + def __init__(self, v): + self.v = v + self.last = None + + def next(self): + output = time.strftime("%H:%M:%S") + if output != self.last: + self.v.display(" %8.8s " % (output)) + self.last = output