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