@@ -240,17 +240,11 @@ def convert_objects_to_script(object: Union[ObjectInfo, list, tuple, set, str]):
240240 object_str = f"{ object .class_ .__name__ } (\n "
241241 attr_str = []
242242 for attr , value in object .data .items ():
243- if isinstance (value , (ObjectInfo , list , tuple , set , Enum )):
244- value , import_data_ = convert_objects_to_script (value )
245- import_data .extend (import_data_ )
246-
247- elif isinstance (value , str ):
248- value , _ = convert_objects_to_script (value )
249-
243+ value , import_data_ = convert_objects_to_script (value )
244+ import_data .extend (import_data_ )
250245 attr_str .append (f"{ attr } ={ value } ,\n " )
251246
252247 import_data .append (f"from { object .class_ .__module__ } import { object .class_ .__name__ } " )
253-
254248 object_str += " " .join ('' .join (attr_str ).splitlines (True )) + ")"
255249 object_data .append (object_str )
256250
@@ -265,8 +259,15 @@ def convert_objects_to_script(object: Union[ObjectInfo, list, tuple, set, str]):
265259 object_data .append (_list_data )
266260
267261 elif isinstance (object , Enum ):
268- import_data .append (f"from { object .__module__ } import { type (object ).__name__ } " )
269- object_data .append (str (object ))
262+ type_name = type (object ).__name__
263+ import_data .append (f"from { object .__module__ } import { type_name } " )
264+ object_name = object ._name_
265+ if not object_name :
266+ name = f"{ type_name } ({ object ._value_ } )"
267+ else :
268+ name = ' | ' .join (map (lambda name : f"{ type_name } .{ name } " , object_name .split ('|' )))
269+
270+ object_data .append (name )
270271
271272 else :
272273 if isinstance (object , str ):
@@ -275,7 +276,7 @@ def convert_objects_to_script(object: Union[ObjectInfo, list, tuple, set, str]):
275276 else :
276277 object_data .append (str (object ))
277278
278- return "," .join (object_data ).strip (), import_data
279+ return "," .join (object_data ).strip (), sorted ( set ( import_data ), key = lambda x : len ( x ), reverse = True )
279280
280281
281282@extendable
0 commit comments