Hi all,
This might be very simple, but I can't find an answer in the doco - so
here I am,
I'm trying to pass several floats to a single option in a Python script:
python my.module.py input=input output=output myoption=0.1,0.2,0.5
Is there a clever way to declare myoption so that it would parse it as
some 3 floats? Or do I need to define it as a string and parse it
manually?
Cheers,
Pierre
--
Scientist
Landcare Research, New Zealand
On Thu, Sep 13, 2012 at 2:07 AM, Pierre Roudier
<pierre.roudier@gmail.com> wrote:
Hi all,
This might be very simple, but I can't find an answer in the doco - so
here I am,
I'm trying to pass several floats to a single option in a Python script:
python my.module.py input=input output=output myoption=0.1,0.2,0.5
Is there a clever way to declare myoption so that it would parse it as
some 3 floats?
Add
#% multiple : yes
to the option definition section of myoption.
Markus M
Pierre Roudier wrote:
This might be very simple, but I can't find an answer in the doco - so
here I am,
I'm trying to pass several floats to a single option in a Python script:
> python my.module.py input=input output=output myoption=0.1,0.2,0.5
Is there a clever way to declare myoption so that it would parse it as
some 3 floats? Or do I need to define it as a string and parse it
manually?
The values in the "options" dictionary returned from the parser()
function are always strings. You can parse the string with:
myoption = map(float, options['myoption'].split(','))
The option definition in the script should have:
#% type: double
#% multiple: yes
This allows g.parser to validate the option syntax, so you can rely
upon the string being in the correct format. If the values have a
fixed range, you can use e.g.:
#% options: 0.0-1.0
to have the parser check that the values fall within the range.
--
Glynn Clements <glynn@gclements.plus.com>
Glynn Clements wrote:
The option definition in the script should have:
#% type: double
#% multiple: yes
This allows g.parser to validate the option syntax, so you can rely
upon the string being in the correct format. If the values have a
fixed range, you can use e.g.:
#% options: 0.0-1.0
to have the parser check that the values fall within the range.
For more information on option definitions, see:
http://grass.osgeo.org/programming7/gislib.html#Complete_Structure_Members_Table
--
Glynn Clements <glynn@gclements.plus.com>
neteler
September 13, 2012, 11:44am
5
On Thu, Sep 13, 2012 at 12:44 PM, Glynn Clements
<glynn@gclements.plus.com> wrote:
Glynn Clements wrote:
The option definition in the script should have:
...
Added to
http://grass.osgeo.org/wiki/GRASS_Python_Scripting_Library#Parsing_the_options_and_flags
Markus
Thanks all for the trick,
Added to
http://grass.osgeo.org/wiki/GRASS_Python_Scripting_Library#Parsing_the_options_and_flags
Perfect place for it I reckon,
Pierre
--
Scientist
Landcare Research, New Zealand