Thanks all for your replys. I must admit, I'm having a hard time to grasp the solutions. Python panels are a black hole for me. Just today I ran into this issue once again when trying to add new trackers to a tracker node (node["tracks"].execute()).
Nathan, do you know of any example scripts that uses your suggestions? Cheers, Simon 2014-04-24 22:51 GMT+02:00 Richard Bobo <richb...@mac.com>: > Thanks, Nathan. > > On Apr 24, 2014, at 3:49 PM, Nathan Rusch <nathan_ru...@hotmail.com> > wrote: > > A few things if you’re going to use threads: > > - I would recommend using `threading` instead of `thread`, as it’s more > approachable, and joining your thread if you want to block until the render > is done. > > > I started by using threading, but then found a different example that used > thread, so I went down that road, instead. I’ll read up on the > differences... > > > t = threading.Thread(target=self.renderWrites) > t.start() > t.join() > - You may want to consider moving the thread target function off of your > dialog class, and just passing the Write node(s) to it via the Thread > object. > > > I was wondering about that - if it was a good idea to combine the two or > not… > > - There’s no reason to use `nuke.executeInMainThreadWithResult` unless you > actually need to get a return value. > > > When I was getting nothing at all to work, I wondered if there was some > result that I needed to wait for (just poking around in the dark), so > that’s why I switched it. Then, when things actually started to work > better, I never switched it back… > > - You need to pass the function and write node through > `nuke.executeInMainThread` separately. Otherwise, you’re just calling > `nuke.execute(writeNode)` and passing the result of that (which is probably > None) to `nuke.executeInMainThread`. > > nuke.executeInMainThread(nuke.execute, args=(writeNode,), kwargs={ > 'continueOnError':True}) > > > I’ll have to let that settle into my brain for a bit. Still partly cloudy > on a lot of how this is supposed to work… > > > - A more idiomatic way to handle exceptions: > > try: > # Something > except Exception as e: > print 'ERROR: %s' % e # Or whatever you want to do > > > > > I did have… > except (TypeError, RuntimeError) as e: > print “ERROR:”, e > > But, wondered if I could get more info by trying to catch anything and > everything… It didn’t help me diagnose anything better, though. > > > Hope this helps. > > > Yes, I’m sure it will, once I can digest it and try out some more examples. > > Thanks! > Rich > > > > -Nathan > > *From:* Richard Bobo <richb...@mac.com> > *Sent:* Thursday, April 24, 2014 12:22 PM > *To:* Nuke Python discussion <nuke-python@support.thefoundry.co.uk> > *Subject:* Re: [Nuke-python] Execute Write from Python panel > > Simon, > > Since I’ve never tried to do coding for a separate thread, I thought I’d > give it a try: > > http://pastebin.com/niEV5FPF > > My version has some of the very same elements as Mitja’s does. And, my > code works -- *most* of the time... > > ...However, sometimes it gets a... > "TypeError: expected callable object, NoneType found” > ...and sometimes it gets a… > “TypeError: ‘NoneType’ object is unscriptable” > ...and sometimes it gets a… > “RunTimeError: Cancelled” > > So, not too reliable!! (8^P > > If my co-worker Python-guru-friend was here today, I’m sure he could help > me debug the problem. Perhaps someone else here could help…? > > So close, yet, so far... > > Rich > > > Rich Bobo > Senior VFX Compositor > Armstrong White > Email: rich.b...@armstrong-white.com > http://armstrong-white.com/ > > Email: richb...@mac.com > Mobile: (248) 840-2665 > Web: http://richbobo.com/ > > "What you can do, or dream you can do, begin it; boldness has genius, > power and magic in it." > - Johann von Goethe > > > > > > On Apr 24, 2014, at 3:08 AM, Simon Björk <bjork.si...@gmail.com> wrote: > > Hi Mitja, > > thanks for the reply. I tested you code, but unfortunately I still get the > "I'm already executing something else" error. Does it work for you? > > Best regards, > Simon > > > 2014-04-24 8:19 GMT+02:00 Mtja Müller-Jend <filmk...@gmx.de>: > Hi Simon, > > try to use > threading<http://docs.thefoundry.co.uk/nuke/80/pythondevguide/threading.html>to > execute the node: > http://pastebin.com/06azNCzx > > Cheerz, > > Mitja > > Am 4/23/2014 11:54 PM, schrieb Simon Björk: > I'm trying to execute a Write node from a Python panel, but I'm not > having any luck. As I try to exectute the render I get a RuntimeError: *I'm > already executing something else.* > > One solution would be to use a Nuke panel instead, but I would really need > a Python panel for this script. See short example script here: > http://pastebin.com/NzStQNhk. > > I would really appriciate some help on this. > > Best regards, > Simon > > > _______________________________________________ > Nuke-python mailing listnuke-pyt...@support.thefoundry.co.uk, > http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > ------------------------------ > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > >
_______________________________________________ Nuke-python mailing list Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python