[GRASS-SVN] r64192 - grass/trunk/general/g.parser
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Jan 15 05:29:40 PST 2015
Author: neteler
Date: 2015-01-15 05:29:40 -0800 (Thu, 15 Jan 2015)
New Revision: 64192
Modified:
grass/trunk/general/g.parser/g.parser.html
grass/trunk/general/g.parser/test.pl
grass/trunk/general/g.parser/test.py
grass/trunk/general/g.parser/test.sh
Log:
g.parser manual: examples updated
Modified: grass/trunk/general/g.parser/g.parser.html
===================================================================
--- grass/trunk/general/g.parser/g.parser.html 2015-01-15 13:02:17 UTC (rev 64191)
+++ grass/trunk/general/g.parser/g.parser.html 2015-01-15 13:29:40 UTC (rev 64192)
@@ -126,7 +126,10 @@
An option can be instructed to allow multiple inputs by adding the
following line:
-<pre>#% multiple : yes</pre>
+<div class="code"><pre>
+#% multiple: yes
+</pre></div>
+
While this will only directly change the <i>Usage</i> section of the help
screen, the option's environmental string may be easily parsed from within
a script. For example, individual comma separated identities for an option
@@ -143,13 +146,17 @@
specify that the options should appear in multiple tabs in the
auto-generated GUI. Any options without a <tt>guisection</tt> field
go into the "Required" or "Options" tab. For example:
-<pre>#% guisection: tabname</pre>
+<div class="code"><pre>
+#% guisection: tabname
+</pre></div>
would put that option in a tab named <i>tabname</i>.
<p>
A "<tt>key_desc</tt>" field may be added to each option to specify the text that
appears in the module's usage help section. For example:
-<pre>#% key_desc: filename</pre>
+<div class="code"><pre>
+#% key_desc: filename
+</pre></div>
added to an <b>input</b> option would create the usage summary
<tt>[input=filename]</tt>.
@@ -187,9 +194,9 @@
For scripts, relationships are specified using a "rules" section, e.g.
<div class="code"><pre>
- #%rules
- #%required altitude,elevation
- #%end
+#%rules
+#% required: altitude,elevation
+#%end
</pre></div>
specifies that at least one of those options must be given. Both
@@ -327,23 +334,26 @@
# g.parser demo script for python programing
#%module
-#% description: g.parser test script (python)
+#% description: g.parser test script (python)
+#% keyword: keyword1
+#% keyword: keyword2
#%end
#%flag
-#% key: f
-#% description: A flag
+#% key: f
+#% description: A flag
#%end
#%option G_OPT_R_MAP
#% key: raster
+#% required : yes
#%end
#%option G_OPT_V_MAP
#% key: vector
#%end
#%option
-#% key: option1
-#% type: string
-#% description: An option
-#% required : no
+#% key: option1
+#% type: string
+#% description: An option
+#% required : no
#%end
import os
@@ -388,14 +398,15 @@
# g.parser demo script for shell programing
#%module
-#% description: g.parser test script
+#% description: g.parser test script (shell)
#%end
#%flag
-#% key: f
-#% description: A flag
+#% key: f
+#% description: A flag
#%end
#%option G_OPT_R_MAP
#% key: raster
+#% required : yes
#%end
#%option G_OPT_V_MAP
#% key: vector
@@ -417,12 +428,13 @@
fi
#### add your code below ####
+
echo ""
if [ $GIS_FLAG_F -eq 1 ] ; then
- echo "Flag -f set"
+ g.message message="Flag -f set"
else
- echo "Flag -f not set"
+ g.message message="Flag -f not set"
fi
# test if parameter present:
@@ -430,9 +442,11 @@
echo "Value of GIS_OPT_OPTION1: '$GIS_OPT_OPTION1'"
fi
-echo "Value of GIS_OPT_RASTER: '$GIS_OPT_RASTER'"
-echo "Value of GIS_OPT_VECTOR: '$GIS_OPT_VECTOR'"
+g.message message="Value of GIS_OPT_option1: '$GIS_OPT_option1'"
+g.message message="Value of GIS_OPT_raster: '$GIS_OPT_raster'"
+g.message message="Value of GIS_OPT_vect: '$GIS_OPT_vector'"
+#### end of your code ####
</pre></div>
<h3>Example code for Perl</h3>
@@ -454,6 +468,7 @@
#%end
#%option G_OPT_R_MAP
#% key: raster
+#% required : yes
#%end
#%option G_OPT_V_MAP
#% key: vector
@@ -509,7 +524,7 @@
<p>
Related Wiki pages:
-<a href="http://grasswiki.osgeo.org/wiki/Category:Linking_to_other_languages">Using GRASS with other programming languages</a>
+<a href="http://grasswiki.osgeo.org/wiki/Category:Linking_to_other_languages">Using GRASS GIS with other programming languages</a>
<h2>AUTHOR</h2>
Modified: grass/trunk/general/g.parser/test.pl
===================================================================
--- grass/trunk/general/g.parser/test.pl 2015-01-15 13:02:17 UTC (rev 64191)
+++ grass/trunk/general/g.parser/test.pl 2015-01-15 13:29:40 UTC (rev 64192)
@@ -2,28 +2,21 @@
use strict;
# g.parser demo script for perl programing
-#%Module
+#%module
#% description: g.parser test script (perl)
#% keyword: keyword1
#% keyword: keyword2
-#%End
+#%end
#%flag
#% key: f
#% description: A flag
#%end
-#%option
+#%option G_OPT_R_MAP
#% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
#% required : yes
#%end
-#%option
+#%option G_OPT_V_MAP
#% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
#%end
#%option
#% key: option1
@@ -37,7 +30,6 @@
exit 1;
}
-
if( $ARGV[0] ne '@ARGS_PARSED@' ){
my $arg = "";
for (my $i=0; $i < @ARGV;$i++) {
@@ -46,18 +38,20 @@
system("$ENV{GISBASE}/bin/g.parser $0 $arg");
exit;
}
-
- #add your code here
- print "\n";
- if ( $ENV{'GIS_FLAG_F'} eq "1" ){
+
+#### add your code here ####
+
+print "\n";
+if ( $ENV{'GIS_FLAG_F'} eq "1" ){
print "Flag -f set\n"
- }
- else {
+}
+else {
print "Flag -f not set\n"
- }
-
- printf ("Value of GIS_OPT_option1: '%s'\n", $ENV{'GIS_OPT_OPTION1'});
- printf ("Value of GIS_OPT_raster: '%s'\n", $ENV{'GIS_OPT_RASTER'});
- printf ("Value of GIS_OPT_vect: '%s'\n", $ENV{'GIS_OPT_VECTOR'});
-
- #end of your code
+}
+
+printf ("Value of GIS_OPT_option1: '%s'\n", $ENV{'GIS_OPT_OPTION1'});
+printf ("Value of GIS_OPT_raster: '%s'\n", $ENV{'GIS_OPT_RASTER'});
+printf ("Value of GIS_OPT_vect: '%s'\n", $ENV{'GIS_OPT_VECTOR'});
+
+#### end of your code ####
+
Modified: grass/trunk/general/g.parser/test.py
===================================================================
--- grass/trunk/general/g.parser/test.py 2015-01-15 13:02:17 UTC (rev 64191)
+++ grass/trunk/general/g.parser/test.py 2015-01-15 13:29:40 UTC (rev 64192)
@@ -2,28 +2,21 @@
# g.parser demo script for python programing
-#%Module
+#%module
#% description: g.parser test script (python)
#% keyword: keyword1
#% keyword: keyword2
-#%End
+#%end
#%flag
#% key: f
#% description: A flag
#%end
-#%option
+#%option G_OPT_R_MAP
#% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
#% required : yes
#%end
-#%option
+#%option G_OPT_V_MAP
#% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
#%end
#%option
#% key: option1
@@ -32,30 +25,41 @@
#% required : no
#%end
-import os
import sys
+import atexit
import grass.script as grass
+def cleanup():
+ # add some cleanup code
+ grass.message(_("Inside cleanup function..."))
+
def main():
+ flag_f = flags['f']
+ option1 = options['option1']
+ raster = options['raster']
+ vector = options['vector']
+
#### add your code here ####
+ exitcode = 0
- if flags['f']:
- print "Flag -f set"
+ if flag_f:
+ grass.message(_("Flag -f set"))
else:
- print "Flag -f not set"
+ grass.message(_("Flag -f not set"))
# test if parameter present:
- if options['option1']:
- print "Value of GIS_OPT_OPTION1: '%s'" % options['option1']
+ if option1:
+ grass.message(_("Value of option1 option: '%s'" % option1))
- print "Value of GIS_OPT_RASTER: '%s'" % options['raster']
- print "Value of GIS_OPT_VECTOR: '%s'" % options['vector']
+ grass.message(_("Value of raster option: '%s'" % raster))
+ grass.message(_("Value of vector option: '%s'" % vector))
#### end of your code ####
- return 0
+ sys.exit(exitcode)
if __name__ == "__main__":
options, flags = grass.parser()
- sys.exit(main())
+ atexit.register(cleanup)
+ main()
Modified: grass/trunk/general/g.parser/test.sh
===================================================================
--- grass/trunk/general/g.parser/test.sh 2015-01-15 13:02:17 UTC (rev 64191)
+++ grass/trunk/general/g.parser/test.sh 2015-01-15 13:29:40 UTC (rev 64192)
@@ -2,28 +2,21 @@
# g.parser demo script for shell programing
-#%Module
+#%module
#% description: g.parser test script (shell)
#% keyword: keyword1
#% keyword: keyword2
-#%End
+#%end
#%flag
#% key: f
#% description: A flag
#%end
-#%option
+#%option G_OPT_R_MAP
#% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
#% required : yes
#%end
-#%option
+#%option G_OPT_V_MAP
#% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
#%end
#%option
#% key: option1
@@ -38,19 +31,27 @@
fi
if [ "$1" != "@ARGS_PARSED@" ] ; then
- exec $GISBASE/bin/g.parser "$0" "$@"
+ exec g.parser "$0" "$@"
fi
-#add your code here
+#### add your code below ####
+
echo ""
-if [ $GIS_FLAG_f -eq 1 ] ; then
- echo "Flag -f set"
+
+if [ $GIS_FLAG_F -eq 1 ] ; then
+ g.message message="Flag -f set"
else
- echo "Flag -f not set"
+ g.message message="Flag -f not set"
fi
-echo "Value of GIS_OPT_option1: '$GIS_OPT_option1'"
-echo "Value of GIS_OPT_raster: '$GIS_OPT_raster'"
-echo "Value of GIS_OPT_vect: '$GIS_OPT_vector'"
+# test if parameter present:
+if [ -n "$GIS_OPT_OPTION1" ] ; then
+ echo "Value of GIS_OPT_OPTION1: '$GIS_OPT_OPTION1'"
+fi
-#end of your code
+g.message message="Value of GIS_OPT_option1: '$GIS_OPT_option1'"
+g.message message="Value of GIS_OPT_raster: '$GIS_OPT_raster'"
+g.message message="Value of GIS_OPT_vect: '$GIS_OPT_vector'"
+
+#### end of your code ####
+
More information about the grass-commit
mailing list