From 53dc740bce8ef19c32fad2881021d1f6bb055f7a Mon Sep 17 00:00:00 2001 From: Krzysztof Grabowski Date: Thu, 19 Nov 2020 22:51:14 +0100 Subject: Hotfix: TypeError: object of type 'dict_itemiterator' has no len() (#2167) * Hotfix: TypeError: object of type 'dict_itemiterator' has no len() * Avoid looping over items 2x Co-authored-by: Grabowski --- kafka/protocol/types.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kafka/protocol/types.py b/kafka/protocol/types.py index ade1bc6..2fde24f 100644 --- a/kafka/protocol/types.py +++ b/kafka/protocol/types.py @@ -194,9 +194,10 @@ class Array(AbstractType): def encode(self, items): if items is None: return Int32.encode(-1) + encoded_items = [self.array_of.encode(item) for item in items] return b''.join( - [Int32.encode(len(items))] + - [self.array_of.encode(item) for item in items] + [Int32.encode(len(encoded_items))] + + encoded_items ) def decode(self, data): -- cgit v1.2.1