ID 312575 - Setting a node's name via node['name'].setValue() allows you to use illegal characters such as "."

Follow

Problem summary
When using the setValue() command on the name knob of a node you are allowed to pass it a "." character and that works, this should not be the case.
 
You cannot also use the "." character in a manual node name as Nuke deems this illegal and will ignore the "." keypress, nor can you use "node.setName()". 
 
Querying a node named with a "." character causes it to return "Result: None". This is due to Nuke's naming convention using the "." character to separate groups from nodes. e.g. a group named "bob" containing a node named "test" would be written as "bob.test".
 
However, you can still name an individual node "bob.test" via setValue() or use other illegal characters such as blank spaces.

Customer reported version
nuke.10.5v5

Customer reported platform
centos7

Steps to reproduce

1) Create a checkerboard node in your Node Graph. 

2) Set your workspace to "scripting" (shift+f4) and paste the following code snippet in your script editor. 

node = nuke.selectedNode()node["name"].setValue("test.name")print nuke.toNode("test.name")

3) With the checkerboard selected highlight the code and then press "ctrl + shift + enter" to run it. 

4) The Result will produce: 
 

node = nuke.selectedNode()node["name"].setValue("test.name")print nuke.toNode("test.name")# Result: None


Workaround
Use a node name that does not contain special characters such as "." or spaces in it's naming convention. Either name the Node manually within the node graph or use "node.setName()" to create an appropriate name for the node. 
 
node = nuke.selectedNode()
node["name"].setName("Bob")
print nuke.toNode("Bob")

Reproduced by support
Nuke 11.0v2 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 10.5v5 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 10.5v1 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 10.0v6 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 10.0v1 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 9.0v9 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 9.0v1 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 8.0v7 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 8.0v1 - Windows 7 - Centos 6.9 - MacOS 10.13
Nuke 7.0v10 - Windows 7 - Centos 6.9 - MacOS 10.13


Earliest version tested
Nuke 7.0v10

Expected behaviour
Print the changed name of the checkerboard name as "test.name".

Actual behaviour
Nuke recognizes "test.name" as a node within a group so in this instance Nuke thinks that it is querying a group node named "test" and a second node within that group named "name". Therefore making the naming convention for just single node illegal as demonstrated in the reproduction steps. 
 
You cannot also use a "." in the node name manually as Nuke will deem it to be an illegal character. 

    We're sorry to hear that

    Please tell us why