@@ -41,10 +41,16 @@ def __init__(self, raw_response: StringDict, indent_level: int = 0):
4141 self .items = []
4242 for item in raw_response ["items" ]:
4343 if isinstance (item , dict ):
44- self .items .append (BaseField .create_field (item , 1 ))
44+ self .items .append (BaseField .create_field (item , self . _indent_level + 2 ))
4545 else :
4646 raise MindeeApiV2Error (f"Unrecognized field format '{ item } '." )
4747
48+ def __str__ (self ) -> str :
49+ out_str = ""
50+ for item in self .items :
51+ out_str += f"* { str (item )[2 :] if item else '' } "
52+ return "\n " + out_str if out_str else ""
53+
4854
4955class ObjectField (BaseField ):
5056 """Object field containing multiple fields."""
@@ -59,14 +65,26 @@ def __init__(self, raw_response: StringDict, indent_level: int = 0):
5965 self .fields : Dict [str , Union ["ListField" , "ObjectField" , "SimpleField" ]] = {}
6066 for field_key , field_value in inner_fields .items ():
6167 if isinstance (field_value , dict ):
62- self .fields [field_key ] = BaseField .create_field (field_value , 1 )
68+ self .fields [field_key ] = BaseField .create_field (
69+ field_value , self ._indent_level + 1
70+ )
6371 else :
6472 raise MindeeApiV2Error (f"Unrecognized field format '{ field_value } '." )
6573
6674 def __str__ (self ) -> str :
6775 out_str = ""
6876 for field_key , field_value in self .fields .items ():
69- out_str += f"{ ' ' * self ._indent_level } :{ field_key } : { field_value } \n "
77+ if isinstance (field_value , ListField ):
78+ value_str = ""
79+ if len (field_value .items ) > 0 :
80+ value_str = (
81+ " " * self ._indent_level + str (field_value )
82+ if field_value
83+ else ""
84+ )
85+ out_str += f"{ ' ' * self ._indent_level } :{ field_key } : { value_str } "
86+ else :
87+ out_str += f"{ ' ' * self ._indent_level } :{ field_key } : { field_value if field_value else '' } "
7088 return out_str
7189
7290
@@ -80,4 +98,4 @@ def __init__(self, raw_response: StringDict, indent_level: int = 0):
8098 self .value = raw_response ["value" ] = raw_response .get ("value" , None )
8199
82100 def __str__ (self ) -> str :
83- return f"{ ' ' * self ._indent_level } { self .value } \n "
101+ return f"{ self .value } \n " if self .value else " \n "
0 commit comments