After Ean's suggestion there is no error, but before, I got this:

/Users/rgb_tv/.nuke/menu.py : error interpreting this plugin
And in the box when I click "Show Details..." I get:
Traceback (most recent call last):
  File "/Users/rgb_tv/.nuke/menu.py", line 3, in <module>
    nuke.addOnScriptClose(remAutosave)
  File
"/Applications/Nuke6.2v2/Nuke6.2v2.app/Contents/MacOS/plugins/nuke/callbacks.py",
line 94, in addOnScriptClose
    _addCallback(onScriptCloses, call, args, kwargs, nodeClass)
  File
"/Applications/Nuke6.2v2/Nuke6.2v2.app/Contents/MacOS/plugins/nuke/callbacks.py",
line 14, in _addCallback
    raise ValueError("call must be a callable")
ValueError: call must be a callable



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:06, Howard Jones <[email protected]> wrote:

> 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

Reply via email to