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
