On Fri, Apr 15, 2011 at 7:27 PM, Peter Cock <p.j.a.c...@googlemail.com>wrote:

> On Thu, Apr 14, 2011 at 2:56 PM, Leandro Hermida
> <soft...@leandrohermida.com> wrote:
> > On Thu, Apr 14, 2011 at 3:17 PM, Peter Cock <p.j.a.c...@googlemail.com>
> > wrote:
> >>
> >> For standard Python tools in Galaxy, I'm using
> >> os.path.split(sys.argv[0])[0]
> >> 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
>
> I guess the script is being loaded as a string, and run with eval(...)
> or something like that. It would also explain why sys.argv[0] would
> be one of the Galaxy script files.
>
> > 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
>
> So combine that with ../tools/mytool/ and you're done? OK, you have
> to know the name of the folder your tool *should* be in... so not a
> perfect solution.


Thanks Peter, yes that's the same idea I did as a quick fix.... also don't
like the fact that my tool directory is hard-coded but oh well.  There must
be a way within Python in Galaxy importing something from Galaxy that has
the current tool directory path, it would seem that Galaxy needs to know
this and would store it anyway?

best,
Leandro
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/

Reply via email to