Explorar o código

g.parser manual: examples updated

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@64192 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Neteler %!s(int64=10) %!d(string=hai) anos
pai
achega
92520f2981
Modificáronse 4 ficheiros con 101 adicións e 87 borrados
  1. 36 21
      general/g.parser/g.parser.html
  2. 19 25
      general/g.parser/test.pl
  3. 25 21
      general/g.parser/test.py
  4. 21 20
      general/g.parser/test.sh

+ 36 - 21
general/g.parser/g.parser.html

@@ -126,7 +126,10 @@ OR vector (for details, see below):
 
 
 An option can be instructed to allow multiple inputs by adding the
 An option can be instructed to allow multiple inputs by adding the
 following line:
 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
 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
 screen, the option's environmental string may be easily parsed from within
 a script. For example, individual comma separated identities for an option 
 a script. For example, individual comma separated identities for an option 
@@ -143,13 +146,17 @@ A "<tt>guisection</tt>" field may be added to each option and flag to
 specify that the options should appear in multiple tabs in the
 specify that the options should appear in multiple tabs in the
 auto-generated GUI.  Any options without a <tt>guisection</tt> field
 auto-generated GUI.  Any options without a <tt>guisection</tt> field
 go into the "Required" or "Options" tab.  For example:
 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>.
 would put that option in a tab named <i>tabname</i>.
 
 
 <p>
 <p>
 A "<tt>key_desc</tt>" field may be added to each option to specify the text that
 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:
 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
 added to an <b>input</b> option would create the usage summary
 <tt>[input=filename]</tt>.
 <tt>[input=filename]</tt>.
 
 
@@ -187,9 +194,9 @@ For C, the relevant functions are those in
 For scripts, relationships are specified using a "rules" section, e.g.
 For scripts, relationships are specified using a "rules" section, e.g.
 
 
 <div class="code"><pre>
 <div class="code"><pre>
-	#%rules
-	#%required altitude,elevation
-	#%end
+#%rules
+#% required: altitude,elevation
+#%end
 </pre></div>
 </pre></div>
 
 
 specifies that at least one of those options must be given. Both
 specifies that at least one of those options must be given. Both
@@ -327,23 +334,26 @@ Parameters:
 # g.parser demo script for python programing
 # g.parser demo script for python programing
 
 
 #%module
 #%module
-#%  description: g.parser test script (python)
+#% description: g.parser test script (python)
+#% keyword: keyword1
+#% keyword: keyword2
 #%end
 #%end
 #%flag
 #%flag
-#%  key: f
-#%  description: A flag
+#% key: f
+#% description: A flag
 #%end
 #%end
 #%option G_OPT_R_MAP
 #%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
+#% required : yes
 #%end
 #%end
 #%option G_OPT_V_MAP
 #%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
 #%end
 #%end
 #%option
 #%option
-#%  key: option1
-#%  type: string
-#%  description: An option
-#%  required : no
+#% key: option1
+#% type: string
+#% description: An option
+#% required : no
 #%end
 #%end
 
 
 import os
 import os
@@ -388,14 +398,15 @@ if __name__ == "__main__":
 # g.parser demo script for shell programing
 # g.parser demo script for shell programing
 
 
 #%module
 #%module
-#%  description: g.parser test script   
+#% description: g.parser test script (shell) 
 #%end
 #%end
 #%flag
 #%flag
-#%  key: f
-#%  description: A flag
+#% key: f
+#% description: A flag
 #%end
 #%end
 #%option G_OPT_R_MAP
 #%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
+#% required : yes
 #%end
 #%end
 #%option G_OPT_V_MAP
 #%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
@@ -417,12 +428,13 @@ if [ "$1" != "@ARGS_PARSED@" ] ; then
 fi
 fi
 
 
 #### add your code below ####
 #### add your code below ####
+
 echo ""
 echo ""
 
 
 if [ $GIS_FLAG_F -eq 1 ] ; then
 if [ $GIS_FLAG_F -eq 1 ] ; then
-    echo "Flag -f set"
+  g.message message="Flag -f set"
 else
 else
-    echo "Flag -f not set"
+  g.message message="Flag -f not set"
 fi
 fi
 
 
 # test if parameter present:
 # test if parameter present:
@@ -430,9 +442,11 @@ if [ -n "$GIS_OPT_OPTION1" ] ; then
     echo "Value of GIS_OPT_OPTION1: '$GIS_OPT_OPTION1'"
     echo "Value of GIS_OPT_OPTION1: '$GIS_OPT_OPTION1'"
 fi
 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>
 </pre></div>
 
 
 <h3>Example code for Perl</h3>
 <h3>Example code for Perl</h3>
@@ -454,6 +468,7 @@ use strict;
 #%end
 #%end
 #%option G_OPT_R_MAP
 #%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
+#% required : yes
 #%end
 #%end
 #%option G_OPT_V_MAP
 #%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
@@ -509,7 +524,7 @@ printf ("Value of GIS_OPT_vect: '%s'\n", $ENV{'GIS_OPT_VECTOR'});
 
 
 <p>
 <p>
 Related Wiki pages:
 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>
 <h2>AUTHOR</h2>
 
 

+ 19 - 25
general/g.parser/test.pl

@@ -2,28 +2,21 @@
 use strict;
 use strict;
 # g.parser demo script for perl programing
 # g.parser demo script for perl programing
 
 
-#%Module
+#%module
 #% description: g.parser test script (perl)
 #% description: g.parser test script (perl)
 #% keyword: keyword1
 #% keyword: keyword1
 #% keyword: keyword2
 #% keyword: keyword2
-#%End
+#%end
 #%flag
 #%flag
 #% key: f
 #% key: f
 #% description: A flag
 #% description: A flag
 #%end
 #%end
-#%option
+#%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
 #% required : yes
 #% required : yes
 #%end
 #%end
-#%option
+#%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
 #%end
 #%end
 #%option
 #%option
 #% key: option1
 #% key: option1
@@ -37,7 +30,6 @@ if ( !$ENV{'GISBASE'} ) {
     exit 1;
     exit 1;
 }
 }
 
 
- 
 if( $ARGV[0] ne '@ARGS_PARSED@' ){
 if( $ARGV[0] ne '@ARGS_PARSED@' ){
     my $arg = "";
     my $arg = "";
     for (my $i=0; $i < @ARGV;$i++) {
     for (my $i=0; $i < @ARGV;$i++) {
@@ -46,18 +38,20 @@ if( $ARGV[0] ne '@ARGS_PARSED@' ){
     system("$ENV{GISBASE}/bin/g.parser $0 $arg");
     system("$ENV{GISBASE}/bin/g.parser $0 $arg");
     exit;
     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"
    print "Flag -f set\n"
- }
- else {
+}
+else {
    print "Flag -f not set\n"
    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 ####
+

+ 25 - 21
general/g.parser/test.py

@@ -2,28 +2,21 @@
 
 
 # g.parser demo script for python programing
 # g.parser demo script for python programing
 
 
-#%Module
+#%module
 #% description: g.parser test script (python)
 #% description: g.parser test script (python)
 #% keyword: keyword1
 #% keyword: keyword1
 #% keyword: keyword2
 #% keyword: keyword2
-#%End
+#%end
 #%flag
 #%flag
 #% key: f
 #% key: f
 #% description: A flag
 #% description: A flag
 #%end
 #%end
-#%option
+#%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
 #% required : yes
 #% required : yes
 #%end
 #%end
-#%option
+#%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
 #%end
 #%end
 #%option
 #%option
 #% key: option1
 #% key: option1
@@ -32,30 +25,41 @@
 #% required : no
 #% required : no
 #%end
 #%end
 
 
-import os
 import sys
 import sys
+import atexit
 
 
 import grass.script as grass
 import grass.script as grass
 
 
+def cleanup():
+    # add some cleanup code
+    grass.message(_("Inside cleanup function..."))
+
 def main():
 def main():
+    flag_f = flags['f']
+    option1 = options['option1']
+    raster = options['raster']
+    vector = options['vector']
+
     #### add your code here ####
     #### add your code here ####
+    exitcode = 0
 
 
-    if flags['f']:
-        print "Flag -f set"
+    if flag_f:
+        grass.message(_("Flag -f set"))
     else:
     else:
-        print "Flag -f not set"
+        grass.message(_("Flag -f not set"))
 
 
     # test if parameter present:
     # 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 ####
     #### end of your code ####
 
 
-    return 0
+    sys.exit(exitcode)
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
     options, flags = grass.parser()
     options, flags = grass.parser()
-    sys.exit(main())
+    atexit.register(cleanup)
+    main()

+ 21 - 20
general/g.parser/test.sh

@@ -2,28 +2,21 @@
 
 
 # g.parser demo script for shell programing
 # g.parser demo script for shell programing
 
 
-#%Module
+#%module
 #% description: g.parser test script (shell)
 #% description: g.parser test script (shell)
 #% keyword: keyword1
 #% keyword: keyword1
 #% keyword: keyword2
 #% keyword: keyword2
-#%End
+#%end
 #%flag
 #%flag
 #% key: f
 #% key: f
 #% description: A flag
 #% description: A flag
 #%end
 #%end
-#%option
+#%option G_OPT_R_MAP
 #% key: raster
 #% key: raster
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Raster input map
 #% required : yes
 #% required : yes
 #%end
 #%end
-#%option
+#%option G_OPT_V_MAP
 #% key: vector
 #% key: vector
-#% type: string
-#% gisprompt: old,vector,vector
-#% description: Vector input map
-#% required : yes
 #%end
 #%end
 #%option
 #%option
 #% key: option1
 #% key: option1
@@ -38,19 +31,27 @@ if [ -z "$GISBASE" ] ; then
 fi
 fi
 
 
 if [ "$1" != "@ARGS_PARSED@" ] ; then
 if [ "$1" != "@ARGS_PARSED@" ] ; then
-  exec $GISBASE/bin/g.parser "$0" "$@"
+    exec g.parser "$0" "$@"
 fi
 fi
 
 
-#add your code here
+#### add your code below ####
+
 echo ""
 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
 else
-  echo "Flag -f not set"
+  g.message message="Flag -f not set"
 fi
 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
+
+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 ####
 
 
-#end of your code