[GRASS-dev] Re: WIKI Python script example won't run
Michael Barton
michael.barton at asu.edu
Thu Jul 17 02:40:42 EDT 2008
I've found the answer to the question below, but I'm not sure that I
understand. I've used the same editor for all my Python coding for
awhile now. It is nice and clean, keeping to indentation standards,
etc. I turned on invisible characters and there is a linefeed after
every line.
However, if I pass the script through another editor and save it, I
don't get this error about a missing line feed.
I'm not sure what is going on. I got the missing linefeed error when I
dropped the WIKI code directly into the editor and saved it.
Michael
On Jul 16, 2008, at 10:38 PM, Michael Barton wrote:
> I wanted to see how it would be to port one of the bash scripts to
> Python. I followed the WIKI template and it didn't run. So I made a
> script that is ONLY from the WIKI template and it doesn't run
> either. I've tried it by just typing the script into the command
> prompt and also by typing:
>
> python $GISBASE/scripts/pytest.py
>
> The error is the same every time and is rather strange:
>
> Line too long or missing newline at line 75
>
> Line 75 is the last line (blank) of the script. If I get rid of this
> line, I still get the error, but on line 74.
>
> I'll paste in the WIKI script below so you won't have to look it up.
> It seems OK and the error is kind of enigmatic. I've tried various
> permutations and get the same results.
>
>
> Michael
>
>
> ================ WIKI script ===================
>
> #!/usr/bin/python
> ############################################################################
> #
> # MODULE: g.example
> #
> # AUTHOR(S): Jane GrassUser
> #
> # PURPOSE: Demonstrates GRASS parser usage in a Python script
> #
> # COPYRIGHT: (c) 2007 The GRASS Development Team
> #
> # This program is free software under the GNU General
> Public
> # License (>=v2). Read the file COPYING that comes
> with GRASS
> # for details.
> #
> ############################################################################
> #
> # REQUIREMENTS:
> # - footool: http://www.example.org
>
> #%Module
> #% description: g.parser test script
> #% keywords: keyword1, keyword2
> #%End
> #%flag
> #% key: f
> #% description: a flag
> #%END
> #%option
> #% key: raster
> #% type: string
> #% gisprompt: old,cell,raster
> #% description: raster input map
> #% required : yes
> #%end
> #%option
> #% key: vector
> #% type: string
> #% gisprompt: old,vector,vector
> #% description: vector input map
> #% required : yes
> #%end
> #%option
> #% key: option1
> #% type: string
> #% description: an option
> #% required : yes
> #%end
>
> import sys
> import os
>
> def main():
>
> #### add your code here ####
>
> print ""
>
> if ( os.getenv("GIS_FLAG_F") == "1" ):
> print "Flag -f set"
> else:
> print "Flag -f not set"
>
> print "Value of GIS_OPT_OPTION1: %s" % os.getenv("GIS_OPT_OPTION1")
> print "Value of GIS_OPT_RASTER: %s" % os.getenv("GIS_OPT_RASTER")
> print "Value of GIS_OPT_VECTOR: %s" % os.getenv("GIS_OPT_VECTOR")
>
> #### end of your code ####
> return
>
> if __name__ == "__main__":
> if ( len(sys.argv) <= 1 or sys.argv[1] != "@ARGS_PARSED@" ):
> os.execvp("g.parser", [sys.argv[0]] + sys.argv)
> else:
> main();
>
More information about the grass-dev
mailing list