diff --git a/pyogp/lib/base/message/message_template_builder.py b/pyogp/lib/base/message/message_template_builder.py index 016b39c..183e658 100644 --- a/pyogp/lib/base/message/message_template_builder.py +++ b/pyogp/lib/base/message/message_template_builder.py @@ -131,11 +131,14 @@ class MessageTemplateBuilder(object): if variable.type == MsgType.MVT_VARIABLE: data_size = template_block.get_variable(variable.name).size if data_size == 1: - block_buffer += struct.pack('>B', var_size) + block_buffer += self.packer.pack_data(var_size, MsgType.MVT_U8) + #block_buffer += struct.pack('>B', var_size) elif data_size == 2: - block_buffer += struct.pack('>H', var_size) + block_buffer += self.packer.pack_data(var_size, MsgType.MVT_U16) + #block_buffer += struct.pack('>H', var_size) elif data_size == 4: - block_buffer += struct.pack('>I', var_size) + block_buffer += self.packer.pack_data(var_size, MsgType.MVT_U32) + #block_buffer += struct.pack('>I', var_size) else: raise Exception('Attempting to build variable with unknown size \ of ' + str(var_size)) diff --git a/pyogp/lib/base/message/message_template_reader.py b/pyogp/lib/base/message/message_template_reader.py index 7098ffa..4d17c80 100644 --- a/pyogp/lib/base/message/message_template_reader.py +++ b/pyogp/lib/base/message/message_template_reader.py @@ -155,7 +155,6 @@ class MessageTemplateReader(object): of ' + str(data_size)) decode_pos += data_size - unpacked_data = self.unpacker.unpack_data(data, \ variable.type, \ decode_pos, \ diff --git a/pyogp/lib/base/tests/test_template_builder.py b/pyogp/lib/base/tests/test_template_builder.py index cfa2747..2ad980f 100644 --- a/pyogp/lib/base/tests/test_template_builder.py +++ b/pyogp/lib/base/tests/test_template_builder.py @@ -134,7 +134,7 @@ class TestTemplateBuilder(unittest.TestCase): builder.add_data('ID', 0x00000001, MsgType.MVT_U32) msg, size = builder.build_message() assert msg == '\xff\xff\xff\xfb' + '\x02' + \ - '\x00\x00\x00\x01\x00\x00\x00\x01', \ + '\x01\x00\x00\x00\x01\x00\x00\x00', \ "Building variable block failed" def test_build_empty_var(self): @@ -158,7 +158,7 @@ class TestTemplateBuilder(unittest.TestCase): msg, size = builder.build_message() assert_string = '\xff\xff\x00\x11' + UUID("550e8400-e29b-41d4-a716-446655440000").bytes + \ - '\x07' + 'Testing' + '\x00\x00\x00\x01' + '\x01' + '\x07' + 'Testing' + '\x01\x00\x00\x00' + '\x01' assert msg == assert_string, "Building variable block failed" @@ -267,11 +267,11 @@ class TestTemplateBuilder(unittest.TestCase): except Exception, e: assert False, "Multiple blocks not working correctly" - assert msg == '\xff\xff\x00\x01' + '\x00\x00\x00\x01' + \ - '\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01' + \ - '\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01' + \ - '\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01' + \ - '\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01', \ + assert msg == '\xff\xff\x00\x01' + '\x01\x00\x00\x00' + \ + '\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00' + \ + '\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00' + \ + '\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00' + \ + '\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00', \ 'TestMessage data not built correctly' def test_serialize_u8(self):