From f7a80c6ac09b390e2f4df045b7032b92dc763eab Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 14 Jul 2021 08:06:52 -0400 Subject: [PATCH] Fix nodeattrib when a list member is 'broken' If 'broken' was used as a group name, it would behave incorrectly. Only check 'broken' for dict types. --- confluent_client/confluent/client.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/confluent_client/confluent/client.py b/confluent_client/confluent/client.py index 4ff4e9d4..acd79ce4 100644 --- a/confluent_client/confluent/client.py +++ b/confluent_client/confluent/client.py @@ -507,7 +507,7 @@ def print_attrib_path(path, session, requestargs, options, rename=None, attrpref printattr) else: attrout = '{0}: {1}:'.format(node, printattr) - elif 'broken' in currattr: + elif isinstance(currattr, dict) and 'broken' in currattr: attrout = '{0}: {1}: *ERROR* BROKEN EXPRESSION: ' \ '{2}'.format(node, printattr, currattr['broken']) @@ -524,7 +524,7 @@ def print_attrib_path(path, session, requestargs, options, rename=None, attrpref blame = options.blame except AttributeError: blame = False - if blame or 'broken' in currattr: + if blame or (isinstance(currattr, dict) and 'broken' in currattr): blamedata = [] if 'inheritedfrom' in currattr: blamedata.append('inherited from group {0}'.format( @@ -633,7 +633,7 @@ def printgroupattributes(session, requestargs, showtype, nodetype, noderange, op attrout = '{0}: {1}: ********'.format(noderange, attr) else: attrout = '{0}: {1}:'.format(noderange, attr) - elif 'broken' in currattr: + elif isinstance(currattr, dict) 'broken' in currattr: attrout = '{0}: {1}: *ERROR* BROKEN EXPRESSION: ' \ '{2}'.format(noderange, attr, currattr['broken'])