File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -26,8 +26,9 @@ def checkName(context : Sofa.Core.Node, name):
2626 # Check if a name is provided, if not, use the one of the class
2727 params = kwargs .copy ()
2828 if isinstance (typeName , type ) and issubclass (typeName , BasePrefab ): #Only for prefabs
29- if "parameters" not in params or len (params .keys ()) > 1 :
29+ if len ( params . keys ()) > 1 or ( len (params .keys ()) == 1 and "parameters" not in params ) :
3030 raise RuntimeError ("Invalid argument, a prefab takes only the \" parameters\" kwargs as input" )
31+
3132 elif "name" not in params : #This doesn't apply to prefab
3233 if isinstance (typeName , str ):
3334 params ["name" ] = typeName
@@ -42,7 +43,7 @@ def checkName(context : Sofa.Core.Node, name):
4243 else :
4344 raise RuntimeError ("Invalid argument " , typeName )
4445
45- if isinstance (typeName , type ) and issubclass (typeName , BasePrefab ):
46+ if isinstance (typeName , type ) and issubclass (typeName , BasePrefab ) and len ( params . keys ()) == 1 :
4647 params ["parameters" ].name = checkName (self , params ["parameters" ].name )
4748 else :
4849 params ["name" ] = checkName (self , params ["name" ])
You can’t perform that action at this time.
0 commit comments