#!/usr/bin/env python3

from datetime import datetime
from PIL import Image, ImageDraw, ImageFilter

cas = datetime.now().strftime("%H%M")

obrazok = Image.new("RGBA", (300, 300), (0, 0, 0, 0))
kresli = ImageDraw.Draw(obrazok)

bity = [8, 4, 2, 1]
stredy_stlpcov = [40, 110, 190, 260]
polomer = 22

for x, cislica in zip(stredy_stlpcov, cas):
    cislo = int(cislica)

    for riadok, bit in enumerate(bity):
        y = 40 + riadok * 70
        zapnuta = bool(cislo & bit)

        # Červená žiara zapnutej LED
        if zapnuta:
            ziara = Image.new("RGBA", (300, 300), (0, 0, 0, 0))
            kresli_ziara = ImageDraw.Draw(ziara)

            kresli_ziara.ellipse(
                (
                    x - 32,
                    y - 32,
                    x + 32,
                    y + 32
                ),
                fill=(255, 0, 0, 130)
            )

            ziara = ziara.filter(ImageFilter.GaussianBlur(10))
            obrazok.alpha_composite(ziara)

        kresli = ImageDraw.Draw(obrazok)

        # Vonkajšie puzdro LED
        kresli.ellipse(
            (
                x - polomer,
                y - polomer,
                x + polomer,
                y + polomer
            ),
            fill=(35, 35, 40, 255),
            outline=(100, 100, 105, 255),
            width=2
        )

        # Vnútorná šošovka
        farba = (230, 0, 0, 255) if zapnuta else (70, 70, 75, 220)

        kresli.ellipse(
            (
                x - 16,
                y - 16,
                x + 16,
                y + 16
            ),
            fill=farba
        )

        # Jemný vnútorný odlesk
        kresli.ellipse(
            (
                x - 10,
                y - 12,
                x + 5,
                y + 3
            ),
            fill=(255, 150, 150, 170) if zapnuta else (150, 150, 150, 80)
        )

obrazok.save("/tmp/binary_clock.png")
print('/tmp/binary_clock.png')
