Commit fdb6e15d authored by Alexander Korolkov's avatar Alexander Korolkov

Get first elements of tuples returned by struct.unpack()

parent 94d2a77b
...@@ -290,13 +290,13 @@ class NodeId(object): ...@@ -290,13 +290,13 @@ class NodeId(object):
elif nid.NodeIdType == NodeIdType.Numeric: elif nid.NodeIdType == NodeIdType.Numeric:
nid.NamespaceIndex, nid.Identifier = struct.unpack("<HI", data.read(6)) nid.NamespaceIndex, nid.Identifier = struct.unpack("<HI", data.read(6))
elif nid.NodeIdType == NodeIdType.String: elif nid.NodeIdType == NodeIdType.String:
nid.NamespaceIndex = struct.unpack("<H", data.read(2)) nid.NamespaceIndex = struct.unpack("<H", data.read(2))[0]
nid.Identifier = unpack_string(data) nid.Identifier = unpack_string(data)
elif nid.NodeIdType == NodeIdType.ByteString: elif nid.NodeIdType == NodeIdType.ByteString:
nid.NamespaceIndex = struct.unpack("<H", data.read(2)) nid.NamespaceIndex = struct.unpack("<H", data.read(2))[0]
nid.Identifier = unpack_bytes(data) nid.Identifier = unpack_bytes(data)
elif nid.NodeIdType == NodeIdType.Guid: elif nid.NodeIdType == NodeIdType.Guid:
nid.NamespaceIndex = struct.unpack("<H", data.read(2)) nid.NamespaceIndex = struct.unpack("<H", data.read(2))[0]
nid.Identifier = Guid.from_binary(data) nid.Identifier = Guid.from_binary(data)
else: else:
raise Exception("Unknown NodeId encoding: " + str(nid.NodeIdType)) raise Exception("Unknown NodeId encoding: " + str(nid.NodeIdType))
...@@ -482,7 +482,7 @@ class Variant(object): ...@@ -482,7 +482,7 @@ class Variant(object):
if vtype.name in UaTypes: if vtype.name in UaTypes:
return unpack_uatype_array(vtype.name, data) return unpack_uatype_array(vtype.name, data)
else: else:
length = struct.unpack("<i", data.read(4)) length = struct.unpack("<i", data.read(4))[0]
res = [] res = []
for _ in range(0, length): for _ in range(0, length):
res.append(Variant._unpack_val(vtype, data)) res.append(Variant._unpack_val(vtype, data))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment