[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