Hi Peter,

thanks a lot for your comments.
I think it is more comfortable to be able to upload tools and xml via the 
webbrowser than to open a terminal and copy them, that was the idea behind my 
work. Especially for our institute this is very useful.

You're right about the check_argument methods. I wasn't sure to add this kind 
of functionality in the first place, because it can become very tricky. What I 
did should just be the very first step for someone who wants to continue the 
work (if this makes sense).
That's why I added a checkbox that disable this check, so that you still can 
upload your tool/xml even the argument test would fail. 

Do you have some comments about the other parts ? Is this something you would 
be interested in using ?

Best wishes,

Bodo Vossen 


-----Original Message-----
From: Peter Cock [mailto:p.j.a.c...@googlemail.com]
Sent: Sat 5/28/2011 10:19 PM
To: Vossen, Bodo
Cc: galaxy-dev@lists.bx.psu.edu
Subject: Re: [galaxy-dev] Implemented adding tools via admin console
 
On Fri, May 27, 2011 at 11:21 AM, Vossen, Bodo
<bodo.vos...@mpi-bn.mpg.de> wrote:
>
> Hi all,
>
> I've implemented functionality for adding tools via the admin menu.

That sounds very useful in principle, although perhaps
the less flexible alternative of reloading tool_conf.xml
would achieve the same aim?

> ...
> Then it is checked if script and XML are "compatible" by
> checking if they have the same number of arguments.

This seems very fragile, and having looked at the code for
detecting the number of arguments in a Python script it
looks like it will get it wrong in many situations. Even
for something quite simple like this:

#sys.argv[0] is the script file itself
assert len(sys,argv)==4, "Expect 3 arguments"
arg1, arg2, arg3 = sys.argv[1:]

Also, what about conditional code like this?

assert len(sys.argv)==4, "Expect 3 arguments"
if sys.argv[1] == "db":
    database = sys.argv[2]
    filename = None
else:
    database = None
    filename = sys.argv[2]
out_filename = sys.argv[3]

If I have read your get_parameter_number code right,
it would claim there are four arguments since there
are four lines of the basic form variable = sys.argv[i]

Also, it cannot possibly work when there are a varying
number of arguments, for example a repeat argument.
If you want a test case, my Venn Diagram tool on the
Tool Shed should be relevant (its a python script).

> If you have any comments or question please do not
> hesitate to contact me, I'm open for every kind of critics.

I would remove the attempt to check the number of arguments.
It is practically impossible to get this right in all cases,
so I don't think it is worth doing. Having valid script/xml
combinations rejected would be quite annoying.

Peter


___________________________________________________________
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