Hi sorry to ping again, but do any of the Galaxy developers have advice/recommended approach for the problem in this thread?
On Thu, Apr 14, 2011 at 3:17 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
For standard Python tools in Galaxy, I'm using os.path.split(sys.argv[0])[0]On Thu, Apr 14, 2011 at 2:08 PM, Leandro Hermida
<softdev@leandrohermida.com> wrote:
> Hi,
>
> I have a tool with a <code file="my_script.py"/> tag and in that code file
> I'm trying to get the tool dirpath where that script and the tool XML
> exist. I've tried:
>
> os.path.abspath(os.path.dirname(sys.argv[0]))
> os.path.abspath(os.path.dirname(__file__))
>
> And both don't work as expected. Is there a galaxy class I could import
> which will have the tool directory path?
>
> regards,
> Leandro
to get the path, which on reflection probably should be written as
os.path.dirname(sys.argv[0]) as you suggest.
What do __file__ and sys.argv[0] give you? The simplest way to debug
this is to add a print statement, since Galaxy will show the stdout.
Hi Peter,
__file__ throws an error:global name '__file__' is not defined
os.path.abspath(os.path.dirname(sys.argv[0])) gives me /path/to/galaxy/scripts directory which is two levels up from what the tool directory I want for example /path/to/galaxy/tools/mytool
Isn't there some Galaxy class I can import? I remember seeing in other code files "import galaxy" and would this have somewhere in it the current tool directory?
-Leandro