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

Reply via email to