diff --git a/EosLib/__init__.py b/EosLib/__init__.py index e69de29..f67ea6d 100644 --- a/EosLib/__init__.py +++ b/EosLib/__init__.py @@ -0,0 +1 @@ +from EosLib.packet.definitions import Type, Priority, Device, HeaderPreamble, RADIO_MAX_BYTES diff --git a/EosLib/packet/packet.py b/EosLib/packet/packet.py index 5f75429..76b795a 100644 --- a/EosLib/packet/packet.py +++ b/EosLib/packet/packet.py @@ -1,8 +1,8 @@ import struct +import EosLib from EosLib.packet.transmit_header import TransmitHeader from EosLib.packet.data_header import DataHeader -from EosLib.packet.definitions import HeaderPreamble, Priority, RADIO_MAX_BYTES from EosLib.packet.exceptions import PacketFormatError @@ -35,12 +35,12 @@ def validate_packet(self): if self.body is None or len(self.body) == 0: raise PacketFormatError("All packets must have a body") - if self.data_header.data_packet_priority != Priority.NO_TRANSMIT: + if self.data_header.data_packet_priority != EosLib.Priority.NO_TRANSMIT: total_length = struct.calcsize(TransmitHeader.transmit_header_struct_format_string) + \ struct.calcsize(DataHeader.data_header_struct_format_string) + \ len(self.body) - if total_length > RADIO_MAX_BYTES: + if total_length > EosLib.RADIO_MAX_BYTES: raise PacketFormatError("Packet is too large") return True @@ -72,13 +72,13 @@ def decode_packet(packet_bytes: bytes): :return: The decoded Packet object """ decoded_packet = Packet() - if packet_bytes[0] == HeaderPreamble.TRANSMIT: + if packet_bytes[0] == EosLib.HeaderPreamble.TRANSMIT: decoded_transmit_header = TransmitHeader.decode( packet_bytes[0:struct.calcsize(TransmitHeader.transmit_header_struct_format_string)]) decoded_packet.transmit_header = decoded_transmit_header packet_bytes = packet_bytes[struct.calcsize(TransmitHeader.transmit_header_struct_format_string):] - if packet_bytes[0] == HeaderPreamble.DATA: + if packet_bytes[0] == EosLib.HeaderPreamble.DATA: decoded_data_header = DataHeader.decode( packet_bytes[0:struct.calcsize(DataHeader.data_header_struct_format_string)]) decoded_packet.data_header = decoded_data_header @@ -87,9 +87,3 @@ def decode_packet(packet_bytes: bytes): decoded_packet.body = packet_bytes return decoded_packet - - - - - - diff --git a/tests/packet/test_packet.py b/tests/packet/test_packet.py index 7dbde50..46b4b7a 100644 --- a/tests/packet/test_packet.py +++ b/tests/packet/test_packet.py @@ -1,5 +1,5 @@ import pytest -import EosLib.packet.definitions as definitions +import EosLib from datetime import datetime from EosLib.packet.packet import TransmitHeader, DataHeader, Packet, PacketFormatError @@ -8,9 +8,9 @@ def get_valid_packet(): transmit_header = TransmitHeader(0, datetime.now()) - data_header = DataHeader(definitions.Type.TELEMETRY, - definitions.Device.TEMPERATURE_HUMIDITY, - definitions.Priority.TELEMETRY, + data_header = DataHeader(EosLib.Type.TELEMETRY, + EosLib.Device.TEMPERATURE_HUMIDITY, + EosLib.Priority.TELEMETRY, datetime.now()) return Packet(bytes("Hello World", 'utf-8'), data_header, transmit_header) @@ -119,7 +119,7 @@ def test_body_too_large(): def test_allow_large_body_no_transmit(): test_packet = get_valid_packet() test_packet.body = bytearray(250) - test_packet.data_header.data_packet_priority = definitions.Priority.NO_TRANSMIT + test_packet.data_header.data_packet_priority = EosLib.Priority.NO_TRANSMIT assert test_packet.encode_packet()