The Flipdot works now and the Disco command too ^^

This commit is contained in:
Tim Windelschmidt 2015-11-13 20:16:43 +01:00
parent 6656934b01
commit 4900a2154a
2 changed files with 11 additions and 58 deletions

View File

@ -1,8 +1,6 @@
### ###
# Copyright (c) 2011, henne # Copyright (c) 2011, fionera
# All rights reserved. # All rights reserved.
#
#
### ###
from threading import Event, Thread from threading import Event, Thread
import subprocess import subprocess
@ -12,64 +10,18 @@ import supybot.plugins as plugins
import supybot.ircutils as ircutils import supybot.ircutils as ircutils
import supybot.callbacks as callbacks import supybot.callbacks as callbacks
import supybot.ircmsgs as ircmsgs import supybot.ircmsgs as ircmsgs
import socket, time import socket, time, httplib, urllib
import Image, ImageFont, ImageDraw, sys
import fileinput
class Flipdot(callbacks.Plugin): class Flipdot(callbacks.Plugin):
sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
def list2byte(l):
byte = 0
i = 0
for i in range(8):
byte += 2**(7-i) if l[i] else 0
return byte
def array2packet(a):
return str(bytearray([list2byte(a[i*8:i*8+8]) for i in range(len(a)/8)]))
def str2array(s):
IMG_SIZE = (80,16)
FONT_SIZE = 11
FONT_OFFSET= (1, 3)
C_BLACK = (0, 0, 0)
C_WHITE = (255, 255, 255)
image = Image.new("RGBA", IMG_SIZE, C_BLACK)
draw = ImageDraw.Draw(image)
draw.fontmode = "1" # No AA
#font = ImageFont.load_default()
font = ImageFont.truetype("/usr/share/fonts/truetype/freefont/FreeSans.ttf", FONT_SIZE)
draw.text(FONT_OFFSET, s, font=font, fill=C_WHITE)
imgmap = []
for pixel in image.getdata():
r, g, b, a = pixel
if r == 255:
imgmap.append(1)
else:
imgmap.append(0)
return imgmap
def __init__(self, irc): def __init__(self, irc):
self.__parent = super(Flipdot, self) self.__parent = super(Flipdot, self)
self.__parent.__init__(irc) self.__parent.__init__(irc)
# def __del__(self, irc):
# ampel.connection.close() def text(self, irc, msg, args):
def start(self, irc, msg, args): irc.reply("Zeigen nun: " + "Wer das liest ist doof")
irc.reply("Lampel kann nun gesteuert werden (noch nicht.....)") conn = httplib.HTTPConnection("raum.ctdo.de:8000")
# ampel.connection.open(self.registryValue('host'), self.registryValue('port')) conn.request("POST", "text=" + "Wer das liest ist doof")
# ampel.connection.write("io get port 2\n") response = conn.getresponse()
# buf = ampel.connection.read_until("\n", 1) conn.close()
# self.state = buf[-2] text = wrap(text)
# irc.reply(self.state)
start = wrap(start)
def hilfe(self, irc, msg, args):
irc.reply("hilfe: Hilft dir...")
hilfe = wrap(hilfe)
def send(self, irc, msg, args):
sock.sendto(array2packet(str2array(msg.strip())), (self.registryValue('host'), self.registryValue('port')))
send = wrap(send)
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

View File

@ -133,6 +133,7 @@ class Lampel(callbacks.Plugin):
irc.reply("The Party is over") irc.reply("The Party is over")
self.discoTimer.cancel() self.discoTimer.cancel()
self.discoan = False self.discoan = False
self.aus();
disco = wrap(disco) disco = wrap(disco)
def discof(self, irc): def discof(self, irc):
ampel.connection.open(self.registryValue('host'), self.registryValue('port')) ampel.connection.open(self.registryValue('host'), self.registryValue('port'))