Started creating http api for netbrite
This commit is contained in:
parent
fd19c95479
commit
aca30088b0
5 changed files with 205 additions and 6 deletions
28
netbrite.py
28
netbrite.py
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue