Thanks Nathan. That works. And you're right, good idea to put the
color stuff in the most central location. This was mostly just an
example to automate some other show-specific tools. Cool that you can
get the file path this way. Thanks!

Dan

On Wed, Oct 17, 2012 at 10:51 AM, Nathan Rusch <nathan_ru...@hotmail.com> wrote:
> init.py and menu.py are executed by the interpreter rather than imported as
> modules, which is why __file__ doesn't work. You can use the inspect module
> to retrieve the path to the currently executing script though:
>
> import inspect
> path = inspect.getfile(inspect.currentframe())
>
> However, you should seriously consider factoring your color bootstrapping
> code into a central module so you don't have to worry about maintaining many
> parallel copies.
>
> Hope this helps.
>
>
> -Nathan
>
> -----Original Message----- From: Dan Rosen
> Sent: Wednesday, October 17, 2012 10:35 AM
> To: Foundry
> Subject: [Nuke-python] init.py abspath
>
>
> Hello,
>
> I'd like to figure out the absolute path to the currently executed
> init.py or menu.py when nuke is loading. I am trying to define the
> show by path for these files dynamically at load time rather than hard
> code the show name. For example I can have my per show init.py
> register the Viewer gizmo based on the path that the init.py is in
> versus hard coding it. We also do some databasing for this, but I'm
> testing this out to see if I can quickly implement a new show by
> simply dropping in another directory with some of these dynamic
> components.
>
> I think that "__file__" doesn't work on OSX? and/or it's a different
> mentality when Nuke loads the init.py versus running python at the
> Terminal.
>
>
> this file:
>
> /Tools/Settings/nuke/nuke_EEPShows/hrd/init.py
>
> registers the show colorspace gizmo:
>
> nuke.ViewerProcess.register("hrd_cSpace", nuke.Node, ("hrd_cSpace", ""))
>
> but could be something dynamic like?:
>
> path = os.path.abspath(os.path.dirname(__file__))
> pathParts = path.split(os.sep)
> show_cSpace = pathParts[5] + "_cSpace"
> nuke.ViewerProcess.register(show_cSpace, nuke.Node, (show_cSpace, ""))
>
>
> thx
> Dan
> _______________________________________________
> 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
> 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
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to