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
