Hi Helena,

Thanks for your efforts.

Seems to work (somehow it worked only after resetting my venv).

I also tested it for the tool I want to wrap :)

Just an idea: making

`python examples/example-sub.py foo --generate_galaxy_xml`
`python examples/example-sub.py bar --generate_galaxy_xml` ...

work, could be handy to create xml files for each subparser.

Anyway, thanks a lot.

Best,
Matthias



On 28.05.2018 18:23, H. Rasche wrote:
I've published version 0.4.4 which should fix that. Please upgrade and
let me know.

For now all of the output will be in a single (invalid, no single root
element) XML file that will have multiple tools concatenated together.

Cheers,
Helena

On 2018-05-28, Matthias Bernt wrote:
Hi Helena,

got it running, but I struggling with subparsers (the tools that I try to
wrap basically only uses subparsers .. a lot of them). I adapted the
example.py in your repo to include a subparser which seems to be excluded
from the xml.

I call `python example.py --generate_galaxy_xml`

since `python example.py sub --generate_galaxy_xml` seems not to work.

Any suggestions?

Best,
Matthias


On 28.05.2018 10:02, H. Rasche wrote:
Hey Matthias,

And let me know if you have any questions or bugs!

There are a couple of things it won't do, but if you're looking to get
90% of the way from python script to tool interface, it will do that. It
won't get you the last 10% of nice repeat blocks and sections and all of
the things that help make galaxy tools more user-friendly. But this can
still be a huge time savings

Cheers,
Helena (@erasche)

On 2018-05-28, Björn Grüning wrote:
Hi Matthias,

check this one out: https://github.com/erasche/argparse2tool

Cheers,
Bjoern

Am 28.05.2018 um 09:43 schrieb Matthias Bernt:
Dear list,

just a question for advice: I plan to wrap a python script (with lots of
options) which uses the argparse library. I was wondering if somebody has
an idea to generate the tool xml (semi-)automatically? For instance, by
subclassing the formatter, parsing the python code, or parsing the command
line...

Cheers,
Matthias

___________________________________________________________
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:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/

--

-------------------------------------------
Matthias Bernt
Bioinformatics Service
Molekulare Systembiologie (MOLSYB)
Helmholtz-Zentrum für Umweltforschung GmbH - UFZ/
Helmholtz Centre for Environmental Research GmbH - UFZ
Permoserstraße 15, 04318 Leipzig, Germany
Phone +49 341 235 482296,
m.be...@ufz.de, www.ufz.de

Sitz der Gesellschaft/Registered Office: Leipzig
Registergericht/Registration Office: Amtsgericht Leipzig
Handelsregister Nr./Trade Register Nr.: B 4703
Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: MinDirig
Wilfried Kraus
Wissenschaftlicher Geschäftsführer/Scientific Managing Director:
Prof. Dr. Dr. h.c. Georg Teutsch
Administrative Geschäftsführerin/ Administrative Managing Director:
Prof. Dr. Heike Graßmann
-------------------------------------------

# /usr/bin/python3
import argparse

parser = argparse.ArgumentParser(description='Process some integers.', prefix_chars='-+', 
epilog="here's some epilog text", 
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('keyword', metavar='Q', type=str, nargs=1, help='action 
keyword')

parser.add_argument('integers', metavar='N', type=int, nargs='+',
                     help='an integer for the accumulator')

parser.add_argument('--sum', '-s', dest='accumulate', action='store_const',
                     const=sum, default=max, help='sum the integers (default: 
find the max)')

parser.add_argument('--foo', nargs='?', help='foo help')
parser.add_argument('--bar', nargs='*', default=[1, 2, 3], help='BAR!')
parser.add_argument('--true', action='store_true', help='Store a true')
parser.add_argument('--false', action='store_false', help='Store a false')
parser.add_argument('--append', action='append', help='Append a value')

parser.add_argument('--nargs2', nargs=2, help='nargs2')

parser.add_argument('--mode', choices=['rock', 'paper', 'scissors'], 
default='scissors')


parser.add_argument('--version', action='version', version='2.0')

subparsers = parser.add_subparsers()
subparser = subparsers.add_parser('sub', help='test subparser')
subparser.add_argument('keyword', type=str)
subparser.add_argument('--subtrue', action='store_true', help='Store a true')

args = parser.parse_args()

--

-------------------------------------------
Matthias Bernt
Bioinformatics Service
Molekulare Systembiologie (MOLSYB)
Helmholtz-Zentrum für Umweltforschung GmbH - UFZ/
Helmholtz Centre for Environmental Research GmbH - UFZ
Permoserstraße 15, 04318 Leipzig, Germany
Phone +49 341 235 482296,
m.be...@ufz.de, www.ufz.de

Sitz der Gesellschaft/Registered Office: Leipzig
Registergericht/Registration Office: Amtsgericht Leipzig
Handelsregister Nr./Trade Register Nr.: B 4703
Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: MinDirig Wilfried Kraus
Wissenschaftlicher Geschäftsführer/Scientific Managing Director:
Prof. Dr. Dr. h.c. Georg Teutsch
Administrative Geschäftsführerin/ Administrative Managing Director:
Prof. Dr. Heike Graßmann
-------------------------------------------
___________________________________________________________
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:
 https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
 http://galaxyproject.org/search/

Reply via email to