On 07/27/2011 09:58 PM, Pete O'Connell wrote:
Hi I was wondering if there is a way to disable a function.
Hi have a GUI grid snapping function that I use in a program called Nuke
(the film compositing software)

Here is the function (which loads when Nuke loads):
#######################
def theAutoplaceSnap():
     try:
         nuke.thisNode().autoplace()
         n = nuke.allNodes();
         for i in n:
           nuke.autoplaceSnap(i)
     except:
         pass

nuke.addOnUserCreate(theAutoplaceSnap)
###################################

I have many functions which get loaded, but this particular one needs to be
disabled when I am viewing another compositors script in the gui.

I have a python script editor in Nuke in which I can run code if need be to
run code on the fly.

Help


Presumably that function is defined in a different module than the one you're going to "disable" it from. So, what you're attempting is commonly called "monkeypatching."

Let's say the module is   snapper  (in a file snapper.py).

All you probably need is to substitute another do-nothing function in its place.

import snapper

def donothing():
    return

snapper.theAutoplaceSnap = donothing

If it will need to be restored later, you can copy it to a variable in your own module, and then copy it back later.

--

DaveA

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to