From b3b19df77cc40b24969546003a306da2714d4a18 Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Tue, 19 Aug 2025 00:48:18 +0200 Subject: [PATCH] Removed old perl from flake. cleaned up library just a little bit. added some message parsing --- .gitignore | 1 + flake.lock | 6 +-- flake.nix | 25 +-------- netbrite.py | 143 +++++++++++++++++++++++++++++----------------------- 4 files changed, 84 insertions(+), 91 deletions(-) diff --git a/.gitignore b/.gitignore index 92b2793..da7fbc2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .direnv +__pycache__/ diff --git a/flake.lock b/flake.lock index 7642d79..7859c1a 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1754381359, - "narHash": "sha256-fXmfK4eoA8hUqmEBWFlndH90Zc7vPjqDct+sjLXtCM8=", + "lastModified": 1755553648, + "narHash": "sha256-btiu4PUGLjoUgyHO5QoyxtMqd6WEkeLjgnI0XH16ea4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "98b601302da9859b201bd858a8949aafec80ead1", + "rev": "f0ceb982688f1d75c0859ad43009bdb0eb22420d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a05c72b..02fdd4f 100644 --- a/flake.nix +++ b/flake.nix @@ -9,35 +9,12 @@ system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { - packages.${system}.default = let - pP = pkgs.perlPackages; - in - pkgs.perlPackages.buildPerlPackage rec { - pname = "SignControl"; - version = "0.1"; - - src = ./.; - - propagatedBuildInputs = [pP.DigestCRC pP.ModuleBuild]; - nativeBuildInputs = [pkgs.shortenPerlShebang]; - - postInstall = '' - shortenPerlShebang $out/bin/signcontrol - ''; - }; devShells.${system}.default = pkgs.mkShell { nativeBuildInputs = [ - (pkgs.perl.withPackages - (x: [ - x.DigestCRC - x.ModuleBuild - ])) - pkgs.entr - - (pkgs.python3.withPackages (x: [x.crc])) + (pkgs.python3.withPackages (x: [x.crc x.fastapi])) ]; }; }; diff --git a/netbrite.py b/netbrite.py index 4ec3c80..ba97efb 100644 --- a/netbrite.py +++ b/netbrite.py @@ -55,6 +55,10 @@ def pkt_escape(pkt: bytes) -> bytes: return bytes(buf) +COLORS = [i.name.lower() for i in Colors] +COLORS_PATTERH = rb"\{(" + "|".join(COLORS).encode("ascii") + rb")\}" + + class Message: activation_delay: int = 0 # Message activation delay display_delay: int = 0 # Message display delay @@ -99,27 +103,27 @@ class Message: (rb"\{erase\}", b"\x10\x03"), (rb"\{serial\}", b"\x10\x09"), (rb"\{bell\}", b"\x10\x05"), - (rb"\{red\}", b"\x10\x05" + pack("B", Colors.RED.value)), - (rb"\{green\}", b"\x10\x05" + pack("B", Colors.GREEN.value)), - (rb"\{yellow\}", b"\x10\x05" + pack("B", Colors.YELLOW.value)), - # ( - # rb"\{(red|green|yellow)\}", - # lambda m: b"\x10\x0c" + pack("B", Colors[m[1].decode("ascii")].value), - # ), - # ( - # rb"\{note\s+(\d+)\s+(\d+)\}", - # lambda m: b"\x10\x11" + pack(" str: +# return str(num).rjust(2, "0") +# +# +# while True: +# now = datetime.now() +# netbrt.message( +# Message("{scrolloff}{left}" + f"{z(now.hour)}:{z(now.minute)}:{z(now.second)}"), +# "1", +# ) +# +# t = time() +# sleep(1 - (t - int(t)))