ID 554540 - Querying a pivot knob on Camera/Axis/Light nodes returns an obsolete knob when using node.knobs() but an XYZ knob when using node.knob() and node[knob]

Follow

Problem summary
Querying a pivot knob on Camera/Axis/Light nodes returns an obsolete knob when using node.knobs() but an XYZ knob when using node.knob() and node[knob]
 
This happens with Camera, Camera2, Camera3, Camera4, Axis, Axis2, Axis3, Axis4, Light, Light2, Light3 and Light4 nodes
 
Customer reported version
nuke.13.2v5
 
Customer reported platform
centos7
 
Steps to reproduce
 
1) Open Nuke 

2) In the Script Editor, run the following code:
 

node = nuke.createNode("Camera") print(node['pivot']) print(node.knob('pivot')) print(node.knobs()['pivot'])
 
Expected behaviour
For the three Python commands to return the same object, like they do with pivot_translate:
 
node = nuke.createNode("Camera") print(node['pivot_translate']) print(node.knob('pivot_translate')) print(node.knobs()['pivot_translate']) # Result:<XYZ_Knob object at 0x0000012A700A8FD0> <XYZ_Knob object at 0x0000012A700A8FD0> <XYZ_Knob object at 0x0000012A700A8FD0> 
 
Actual behaviour
node.knobs() returns a obsolete knob rather than an XYZ knob:
node = nuke.createNode("Camera") print(node['pivot']) print(node.knob('pivot')) print(node.knobs()['pivot']) # Result:<XYZ_Knob object at 0x0000012A5DFB1D90> <XYZ_Knob object at 0x0000012A5DFB1D90> <Obsolete_Knob object at 0x0000012A5DFD3D70> 
 
 
Workaround
Don't use node.knobs() when querying the pivot knob
 
Reproduced by support
This bug has been reproduced in:
Nuke 14.0v6 - Windows 10, CentOS 7, macOS Monterey
Nuke 13.2v1 - Windows 10, CentOS 7, macOS Monterey - regression
 
Unable to reproduce bug in:
Nuke 13.1v5 - Windows 10, CentOS 7, macOS Monterey
 
Earliest version tested
Nuke 13.1v5 - This issue doesn't appear in this version and has regressed
 

    We're sorry to hear that

    Please tell us why