LumaPictures / pymel

Python in Maya Done Right
Other
479 stars 130 forks source link

pm.listNamespaces() returns duplicates #380

Closed mjmvisser closed 7 years ago

mjmvisser commented 8 years ago
pm.listNamespaces()
# Result: [Namespace(u':chariot_assembly_01'),
 Namespace(u':camera'),
 Namespace(u':chariot_assembly_01'),
 Namespace(u':geo'),
 Namespace(u':layout_cht_environment_01'),
 Namespace(u':shield_01')] # 

pm.listNamespaces(recursive=True)
# Result: [Namespace(u':chariot_assembly_01'),
 Namespace(u':camera'),
 Namespace(u':chariot_assembly_01'),
 Namespace(u':geo'),
 Namespace(u':layout_cht_environment_01'),
 Namespace(u':shield_01'),
 Namespace(u':chariot_assembly_01:bull_02'),
 Namespace(u':chariot_assembly_01:charriot_01'),
 Namespace(u':chariot_assembly_01:bull_01'),
 Namespace(u':chariot_assembly_01:bull_02'),
 Namespace(u':chariot_assembly_01:bull_03'),
 Namespace(u':chariot_assembly_01:bull_04'),
 Namespace(u':chariot_assembly_01:bull_05'),
 Namespace(u':chariot_assembly_01:bull_06'),
 Namespace(u':chariot_assembly_01:chariot_harness_01'),
 Namespace(u':chariot_assembly_01:charriot_01'),
 Namespace(u':chariot_assembly_01:bull_02'),
 Namespace(u':chariot_assembly_01:charriot_01'),
 Namespace(u':chariot_assembly_01:bull_01'),
 Namespace(u':chariot_assembly_01:bull_02'),
 Namespace(u':chariot_assembly_01:bull_03'),
 Namespace(u':chariot_assembly_01:bull_04'),
 Namespace(u':chariot_assembly_01:bull_05'),
 Namespace(u':chariot_assembly_01:bull_06'),
 Namespace(u':chariot_assembly_01:chariot_harness_01'),
 Namespace(u':chariot_assembly_01:charriot_01')] # 

Edit: seems to be a Maya bug, namespaceInfo -listOnlyNamespaces also returns duplicates:

namespaceInfo -listOnlyNamespaces;
// Result: chariot_assembly_01 UI camera chariot_assembly_01 geo layout_cht_environment_01 shared shield_01 // 

Edit2: /usr/autodesk/maya2015-x64/scripts/others/namespaceTreeView.mel explicitly checks for duplicates, seemingly to work around this bug instead of fixing it upstream