Started creating http api for netbrite

This commit is contained in:
Jurn Wubben 2025-08-26 11:27:45 +02:00
parent fd19c95479
commit aca30088b0
5 changed files with 205 additions and 6 deletions

View file

@ -10,6 +10,14 @@ import re
DEFAULT_PORT = 700
class NetbriteConnectionException(Exception):
pass
class NetbriteTransferException(Exception):
pass
class Colors(Enum):
RED = 0x01
GREEN = 0x02
@ -101,7 +109,7 @@ class Message:
(rb"\{right\}", b"\x10\x28"),
(rb"\{pause\}", b"\x10\x05"),
(rb"\{erase\}", b"\x10\x03"),
(rb"\{serial\}", b"\x10\x09"),
(rb"\{serialnum\}", b"\x10\x09"),
(rb"\{bell\}", b"\x10\x05"),
(rb"\{red\}", b"\x10\x0c" + pack("B", Colors.RED.value)),
(rb"\{green\}", b"\x10\x0c" + pack("B", Colors.GREEN.value)),
@ -183,16 +191,26 @@ class NetBrite:
try:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.settimeout(5000)
self.sock.settimeout(2)
self.connect()
except OSError as e:
raise ConnectionError(f"Error while opening network socket. {e}")
raise NetbriteConnectionException(
f"Error while opening network socket. {e}"
)
def connect(self):
self.sock.connect((self.address, self.port))
try:
self.sock.connect((self.address, self.port))
except OSError as e:
raise NetbriteConnectionException(
f"Error while opening network socket. {e}"
)
def tx(self, pkt: bytes):
_ = self.sock.send(pkt)
try:
_ = self.sock.send(pkt)
except OSError as e:
raise NetbriteTransferException(f"Error while opening network socket. {e}")
def message(self, msg: Message, zoneName: str):
z = self.zones_list.get(zoneName)