Found the error - just had to look at my console app (OS X) and saw the message: nuke not recognized (or something like this). Basically I forgot to add import nuke at the top.
Thanks! Ron Ganbar email: [email protected] tel: +44 (0)7968 007 309 [UK] +972 (0)54 255 9765 [Israel] url: http://ronganbar.wordpress.com/ On 19 November 2011 17:23, Howard Jones <[email protected]> wrote: > If it doesn't find the file to say not found - so you know the script is > running. > When its imported these things can fail silently so you assume they didn't > run whereas they just didn't get their error out. > So if you have a test that must return a value such as > > ################### > verbose=True > def remAutosave(): > autoS = nuke.toNode("preferences")["AutoSaveName"].evaluate() > if verbose: > print (os.path.isfile(autoS)) > if os.path.isfile(autoS): > ask = nuke.ask('Autosave file found.\nDelete?') > > else: > if verbose: > nuke.message('Nothing found) # if this doesn't pop up something's > wrong when verbose is on > if ask == True: > os.remove(autoS) > ################### > > > I'm not a great coder so someone else can chip in on best practice > Howard > > ------------------------------ > *From:* Ron Ganbar <[email protected]> > *To:* Howard Jones <[email protected]>; Nuke Python discussion < > [email protected]> > *Sent:* Saturday, 19 November 2011, 15:09 > > *Subject:* Re: Re: [Nuke-python] Getting autosave location of current > script > > Added a test? Such as? > > > > Ron Ganbar > email: [email protected] > tel: +44 (0)7968 007 309 [UK] > +972 (0)54 255 9765 [Israel] > url: http://ronganbar.wordpress.com/ > > > > On 19 November 2011 17:08, Howard Jones <[email protected]> wrote: > > ignore - just realised you said doesn't error. > Have you added a test to make sure its not just failing rather than not > running > > > > Howard > > ------------------------------ > *From:* Howard Jones <[email protected]> > > *To:* Nuke Python discussion <[email protected]> > *Sent:* Saturday, 19 November 2011, 15:06 > > *Subject:* Re: Re: [Nuke-python] Getting autosave location of current > script > > Whats the error? > > Howard > > ------------------------------ > *From:* Ron Ganbar <[email protected]> > *To:* Nuke Python discussion <[email protected]> > *Sent:* Saturday, 19 November 2011, 14:59 > *Subject:* Re: Re: [Nuke-python] Getting autosave location of current > script > > Hey Ean. Thanks. > Well, it doesn't error on startup. But it doesn't run the script when I > close or quit. > Any ideas? > > > Ron Ganbar > email: [email protected] > tel: +44 (0)7968 007 309 [UK] > +972 (0)54 255 9765 [Israel] > url: http://ronganbar.wordpress.com/ > > > > On 19 November 2011 16:09, Ean Carr <[email protected]> wrote: > > Oh, I see. Try: > > nuke.addOnScriptClose(remAutosave.remAutosave) > > And make sure you're importing nuke in remAutosave.py. > > -Ean > > > On Sat, Nov 19, 2011 at 12:46 PM, Ron Ganbar <[email protected]> wrote: > > I must be doing something wrong. Obviously I am cause it's not working. > This is my menu.py: > > ################### > import remAutosave > > nuke.addOnScriptClose(remAutosave) > ################### > > I have a file called remAutosave.py in my .nuke folder and in it I have > the function: > > > ################### > def remAutosave(): > autoS = nuke.toNode("preferences")["AutoSaveName"].evaluate() > if os.path.isfile(autoS): > ask = nuke.ask('Autosave file found.\nDelete?') > if ask == True: > os.remove(autoS) > ################### > > > Yet Nuke gives me an error message on startup. Any idea? > > Thanks, > > Ron Ganbar > email: [email protected] > tel: +44 (0)7968 007 309 [UK] > +972 (0)54 255 9765 [Israel] > url: http://ronganbar.wordpress.com/ > > > > On 19 November 2011 14:10, Ean Carr <[email protected]> wrote: > > Put this in your menu.py: > > nuke.addOnScriptClose(remAutosave) > > -E > > > On Fri, Nov 18, 2011 at 5:39 PM, Ron Ganbar <[email protected]> wrote: > > So how do I automatically add this to all scripts' onScriptClose property? > > > > Ron Ganbar > email: [email protected] > tel: +44 (0)7968 007 309 [UK] > +972 (0)54 255 9765 [Israel] > url: http://ronganbar.wordpress.com/ > > > > On 18 November 2011 19:29, Michael Habenicht <[email protected]> wrote: > > Hallo Abraham, > > you have to use evaluate() instead of getValue(). > > So a more universal version of Ron's script should look like this: > > def remAutosave(): > autoS = nuke.toNode("preferences")["AutoSaveName"].evaluate() > if os.path.isfile(autoS): > ask = nuke.ask('Autosave file found.\nDelete?') > if ask == True: > os.remove(autoS) > > Viele Grüße in die Türkenstraße! > Michael > > ------------------------------------------ > DI (FH) Michael Habenicht > compositing - vfx :: motiongraphics :: dvd > > http://www.tinitron.de > [email protected] > ** > Digital Compositor & TD TRIXTER Film Munich > http://www.trixter.de > ------------------------------------------ > > ----- Original Message ----- > From: [email protected] > To: [email protected] > Date: 18.11.2011 17:06:05 > Subject: Re: [Nuke-python] Getting autosave location of current script > > > > I already wrote a very simple version of this function. As for every > other > > script I ever wrote - it's not finished and pretty straight forward. > > Of course, it doesn't answer your question. Still, it relates, so here it > > is. > > By the way, it's designed to be added as a onScriptClose function. > > > > > > def remAutosave(): > > script = nuke.Root()['name'].getValue() > > autoS = script + '.autosave' > > if os.path.isfile(autoS): > > ask = nuke.ask('Autosave file found.\nDelete?') > > if ask == True: > > os.remove(autoS) > > > > > > Ron Ganbar > > email: [email protected] > > tel: +44 (0)7968 007 309 [UK] > > +972 (0)54 255 9765 [Israel] > > url: http://ronganbar.wordpress.com/ > > > > > > > > On 18 November 2011 18:00, Abraham Schneider wrote: > > > > > Hi there! > > > > > > I wanted to write a callback function to automatically delete > > > the .autosave file, if the script was closed correctly. I find it very > > > irritating to get the 'there is a newer autosave' message when loading > > > a script, even if the script was closed properly and on purpose > > > without saving it when closing. I'd only like to keep the autosave > > > file if Nuke crashes or something like that. > > > > > > Problem is: my scripting skills aren't that good. I wanted to start > > > with checking if an autosave file exists. To do this, I wanted to use > > > the actual value for the AutoSaveName set in the preferences. By > > > default, this value is set to '[firstof [value root.name] [getenv > > > NUKE_TEMP_DIR]/].autosave'. I'm able to get the string from the > > > preferences with something like: > > > > > > myprefs = nuke.toKnob('preferences') > > > print myprefs.knob('AutoSaveName').**getValue() > > > > > > or > > > > > > print nuke.tcl('value preferences.AutoSaveName') > > > > > > > > > that always gives me the string '[firstof [value root.name] [getenv > > > NUKE_TEMP_DIR]/].autosave'. But what I'd really want to get is the > > > evaluated value of the string, so I tried it with 'eval', 'expr', > > > 'expression', etc., but didn't get any result. The only way a got a > > > result was when I used "print nuke.tcl('eval [value > > > preferences.AutoSaveName]')": > > > > > > print nuke.tcl('eval [value preferences.AutoSaveName]') > > > # Result: > > > Traceback (most recent call last): > > > File "", line 1, in > > > RuntimeError: Syntax error at "/mnt/frozone/projects/vier_**hunde_1234" > > > > > > So it IS doing something, but there seems to be an syntax error. But I > > > can't see what the error is. > > > > > > Can anyone explain to me why that doesn't work and/or how to get the > > > proper result that Nuke also uses internally as the path for the > > > autosave file? Or better: what would be a good way to delete the > > > autosave file of the script that I'm closing on purpose without saving? > > > > > > Thanks for any help and sorry if the code above hurts your eyes, I'm > > > just starting to script in Nuke and find the mixture of TCL and Python > > > still very confusing. > > > > > > Best regards, > > > > > > Abraham > > > > > > > > > Abraham Schneider > > > Senior VFX Compositor > > > > > > > > > ARRI Film & TV Services GmbH > > > Tuerkenstr. 89 > > > D-80799 Muenchen / Germany > > > > > > Phone +49 89 3809-1269 > > > > > > EMail [email protected] > > > www.arri.de/filmtv > > > ______________________________**__ > > > > > > > > > ARRI Film & TV Services GmbH > > > Sitz: München Registergericht: Amtsgericht München > > > Handelsregisternummer: HRB 69396 > > > Geschäftsführer: Franz Kraus, Dr. Martin Prillmann, Josef Reidinger > > > ______________________________**_________________ > > > 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 > > [email protected], http://forums.thefoundry.co.uk/ > > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > >
_______________________________________________ Nuke-python mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
