4 import sys, os, string, re, pwd, signal
5 from HorizScroll import HorizScroll
6 from random import random, seed
7 from time import time, sleep
10 def __init__(self, vendie):
11 # Each element of scrolling_message should be a 3-tuple of
12 # ('message', True/False if it is to be repeated, time to display)
13 self.scrolling_message = []
15 self.next_update = None
17 def set_message(self, string):
18 self.scrolling_message = [(string, False, None)]
19 self.update_display(True)
21 def set_messages(self, strings):
22 self.scrolling_message = strings
23 self.update_display(True)
25 def update_display(self, forced = False):
26 if not forced and self.next_update != None and time() < self.next_update:
28 if len(self.scrolling_message) > 0:
29 if len(self.scrolling_message[0][0]) > 10:
30 (m, r, t) = self.scrolling_message[0]
32 exp = HorizScroll(m).expand(padding = 0, wraparound = True)
39 del self.scrolling_message[0]
40 self.scrolling_message = a + self.scrolling_message
41 newmsg = self.scrolling_message[0]
43 self.next_update = time() + newmsg[2]
45 self.next_update = None
46 self.v.display(self.scrolling_message[0][0])
47 if self.scrolling_message[0][1]:
48 self.scrolling_message.append(self.scrolling_message[0])
49 del self.scrolling_message[0]
52 return len(self.scrolling_message) == 0