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,
[email protected], 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()
___________________________________________________________
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/