reformatted files to be pep8 compliant

updated .gitignore
This commit is contained in:
KS_HTK 2025-08-21 09:51:44 +02:00
parent 666a377e32
commit ef148dbbb6
Signed by: KS_HTK
GPG key ID: A12528D4094FF70C
4 changed files with 285 additions and 270 deletions

View file

@ -1,7 +1,7 @@
"""
Script for the flipdot recharge party animation
"""
# requires: python-fluepdot, python_dotenv
# requires: python-fluepdot, python_dotenv, pillow
import os
from time import sleep
from dotenv import load_dotenv
@ -26,62 +26,65 @@ logo = """
"""
# convert text to framebuffer format
def textToFramebuffer(text: str, x:int=0, y:int=0, fontname:str="DejaVuSans.ttf", size:int=14) -> str:
from PIL import Image, ImageFont, ImageDraw
font = ImageFont.truetype(fontname, size)
tw, th = font.getsize(text)
while th >= 16:
print(th)
size -= 1
font = ImageFont.truetype(fontname, size)
tw, th = font.getsize(text)
img = Image.new("1", (tw, 16), 0)
draw = ImageDraw.Draw(img)
draw.text((0, 0), text=text, font=font, fill=1)
framebuffer: str = ""
for y in range(img.height):
for x in range(img.width):
framebuffer += "X" if img.getpixel((x, y)) == 1 else " "
framebuffer += "\n"
return framebuffer
# convert text to framebuffer format
def textToFramebuffer(text: str, x: int = 0, y: int = 0, fontname: str = "DejaVuSans.ttf", size: int = 14) -> str:
from PIL import Image, ImageFont, ImageDraw
font = ImageFont.truetype(fontname, size)
_, _, tw, th = font.getbbox(text)
while th >= 16:
print(th)
size -= 1
font = ImageFont.truetype(fontname, size)
_, _, tw, th = font.getbbox(text)
img = Image.new("1", (tw, 16), 0)
draw = ImageDraw.Draw(img)
draw.text((0, 0), text=text, font=font, fill=1)
framebuffer: str = ""
for y in range(img.height):
for x in range(img.width):
framebuffer += "X" if img.getpixel((x, y)) == 1 else " "
framebuffer += "\n"
return framebuffer
def scrl_frm(frame, loop: bool or int = False) -> None:
def _extend_frame(line: str) -> str:
return line+(" "*loop)+line[0:115]
def _pad_frame(line: str) -> str:
pad = " "*115
return pad+line+pad
def _extend_frame(line: str) -> str:
return line + (" " * loop) + line[0:115]
frame = frame.split("\n")
length = len(frame[0])+loop if type(loop) == int else len(frame[0])+115
def _pad_frame(line: str) -> str:
pad = " " * 115
return pad + line + pad
if type(loop) == int:
frame = list(map(_extend_frame, frame))
else:
frame = list(map(_pad_frame, frame))
frame = frame.split("\n")
length = len(frame[0]) + loop if type(loop) == int else len(frame[0]) + 115
_run_once=True
while loop or type(loop)==int or _run_once:
_run_once=False
for i in range(0, length, 2):
print(".\n".join(l[i:i+115] for l in frame))
sleep(.1)
if type(loop) == int:
frame = list(map(_extend_frame, frame))
else:
frame = list(map(_pad_frame, frame))
if __name__=="__main__":
load_dotenv()
hostname = os.getenv("DOTS_HOST")
frame = textToFramebuffer("recharge! flipdot e.V.", fontname="DejaVuSans.ttf")
fd = Fluepdot(f"http://{hostname}")
fd.set_mode(Mode.DIFFERENTIAL)
_run_once = True
while loop or type(loop) == int or _run_once:
_run_once = False
for i in range(0, length, 2):
print(".\n".join(l[i:i + 115] for l in frame))
sleep(.1)
logoarr = logo.split("\n")
nframe = ""
for y in range(len(logoarr)):
nframe += logoarr[y] + frame.split("\n")[y]+ "\n"
nframe = nframe[:-1]
print(nframe)
fd.post_scroll_frame_raw(nframe, loop=2)
#scrl_frm(nframe, loop=2)
if __name__ == "__main__":
load_dotenv()
hostname = os.getenv("DOTS_HOST")
frame = textToFramebuffer("recharge! flipdot e.V.", fontname="DejaVuSans.ttf")
fd = Fluepdot(f"http://{hostname}")
fd.set_mode(Mode.DIFFERENTIAL)
logoarr = logo.split("\n")
nframe = ""
for y in range(len(logoarr)):
nframe += logoarr[y] + frame.split("\n")[y] + "\n"
nframe = nframe[:-1]
print(nframe)
fd.post_scroll_frame_raw(nframe, loop=2)
#scrl_frm(nframe, loop=2)