[GRASS-user] Re: mapcalc problem in python script!!

Johannes,

Looking at your Python code and the error, I expect the issue is with the way you are calling the script, rather than it’s content.

From the documentation, g.parser returns a Python dictionary. The options “command” is a variable, rather than a function.

http://grass.osgeo.org/grass64/manuals/html64_user/g.parser.html

The key error occurs when you attempt to access a key, in your case upstream_shreve, when it does not exist.

http://wiki.python.org/moin/KeyError

I suspect the problem is that you’re not setting a value for upstream_shreve from the command line, i.e.,

./test3.py upstream_shreve=newmapname upstream_part=upstreammap shreve=anothermap

In your Python script, if you throw in:

print options

You’ll be able to quickly check it contains the key-value pairs you expect.

Hope this helps,
Josh.

On 3 Feb 2011, at 16:55, "Johannes Radinger" <JRadinger@gmx.at> wrote:

-------- Original-Nachricht --------

Datum: Thu, 3 Feb 2011 16:26:47 +0000
Von: Joshua Arnott <josh@snorfalorpagus.net>
An: "grass-user@lists.osgeo.org" <grass-user@lists.osgeo.org>
Betreff: [GRASS-user] Re: mapcalc problem in python script!!

Johannes,

Looking at your Python code and the error, I expect the issue is with the
way you are calling the script, rather than it's content.

From the documentation, g.parser returns a Python dictionary. The options
"command" is a variable, rather than a function.

http://grass.osgeo.org/grass64/manuals/html64_user/g.parser.html

The key error occurs when you attempt to access a key, in your case
upstream_shreve, when it does not exist.

http://wiki.python.org/moin/KeyError

I suspect the problem is that you're not setting a value for
upstream_shreve from the command line, i.e.,

./test3.py upstream_shreve=newmapname upstream_part=upstreammap
shreve=anothermap

In your Python script, if you throw in:

print options

You'll be able to quickly check it contains the key-value pairs you
expect.

Hope this helps,
Josh.

Hello Josh,

first thank you for looking over my code...

Sr but I don't know what you're meaning excactly... the print options command gives me {}... but how should the executable .py file look like?

/johannes

If {} is all that is returned, it means the dictionary is empty. How are you running your Python script? What do you type at the grass command prompt?

Josh.