Europython stuff

This commit is contained in:
jaseg 2014-07-25 19:50:20 +02:00
parent 9744335ad5
commit 49cd6259ba
3 changed files with 109 additions and 272 deletions

View file

@ -73,6 +73,7 @@ class TextRenderer:
def __iter__(self):
for i in range(-DISPLAY_WIDTH, self.width):
#print('Rendering text @ pos {}'.format(i))
yield render_text(self.text, i)
class MateLightUDPServer:
@ -134,7 +135,7 @@ class MateLightTCPTextHandler(BaseRequestHandler):
data = str(self.request.recv(1024).strip(), 'UTF-8')
addr = self.client_address[0]
if len(data) > 140:
self.request.sendall('TOO MUCH INFORMATION!\n')
self.request.sendall(b'TOO MUCH INFORMATION!\n')
return
log('\x1B[95mText from\x1B[0m {}: {}\x1B[0m'.format(addr, data))
renderqueue.append(TextRenderer(data))
@ -150,11 +151,11 @@ userver = MateLightUDPServer()
userver.start()
defaultlines = [ TextRenderer(l[:-1].replace('\\x1B', '\x1B')) for l in open('default.lines').readlines() ]
random.shuffle(defaultlines)
defaulttexts = itertools.cycle(itertools.chain(*defaultlines))
#random.shuffle(defaultlines)
defaulttexts = itertools.chain(*defaultlines)
if __name__ == '__main__':
#print('\033[?1049h'+'\n'*9)
print('\033[?1049h'+'\n'*9)
while True:
if renderqueue:
renderer = renderqueue.popleft()
@ -166,11 +167,18 @@ if __name__ == '__main__':
foo = os.urandom(640)
frame = bytes([v for c in zip(list(foo), list(foo), list(foo)) for v in c ])
else:
frame = next(defaulttexts)
try:
frame = next(defaulttexts)
except StopIteration:
defaultlines = [ TextRenderer(l[:-1].replace('\\x1B', '\x1B')) for l in open('default.lines').readlines() ]
#random.shuffle(defaultlines)
defaulttexts = itertools.chain(*defaultlines)
sendframe(frame)
#printframe(next(defaulttexts))
# printframe(frame)
continue
# sleep(0.1)
for frame in renderer:
sendframe(frame)
#printframe(frame)
# printframe(frame)
# sleep(0.1)