import nuke

def duplicate():
    s=nuke.selectedNode()

    list=[]
    for i in range(0,s.inputs()):
        list.append((i,s.input(i)))

    nuke.nodeCopy("%clipboard%")

    nuke.selectAll()
    nuke.invertSelection()

    c=nuke.nodePaste("%clipboard%")
    c.setXYpos(s.xpos()+100,s.ypos())

    for n,i in list:
        c.setInput(n,i)