[GRASS-dev] How to improve flags related error message in pygrass module?

Nikos Alexandris nik at nikosalexandris.net
Mon Jan 15 04:38:12 PST 2018

* Markus Neteler <neteler at osgeo.org> [2018-01-15 11:12:46 +0100]:

>Hi devs,
>when accidentially using a wrong flag, the resulting error message is
>user at fry ~ $ python grass_scripts/grass_dem.py
>GRASSBIN: grass74
>GISBASE: /home/user/source/grass-7.4.svn/dist.x86_64-pc-linux-gnu
>{u'MAPSET': u"'PERMANENT';", u'GISDBASE': u"'/home/user/grassdata';",
>u'LOCATION_NAME': u"'nrw';"}
>Traceback (most recent call last):
>  File "grass_scripts/grass_dem.py", line 17, in <module>
>  File
>line 647, in __call__
>    self.check()
>  File
>line 705, in check
>    if flg and flg.suppress_required:
>TypeError: __nonzero__ should return bool or int, returned str
>This script was written by a PyGRASS newcomer who reused code from the
>Wiki. The reason for the error is
>which is incorrect (must be: overwrite=True or =False).

Even like that, the error message is informative.  It expects a boolean
(True or False) or an integer (say: 0 or 1). Instead a string was returned.


>The related code is around l705 in
>    def check(self):
>        """Check the correctness of the provide parameters"""
>        required = True
>        for flg in self.flags.values():
>            if flg and flg.suppress_required:
>                required = False
>Could a python expert here please suggest how to generate a more
>reasonable error message?
>grass-dev mailing list
>grass-dev at lists.osgeo.org

Nikos Alexandris | Remote Sensing & Geomatics
GPG Key Fingerprint 6F9D4506F3CA28380974D31A9053534B693C4FB3 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20180115/3d3252a9/attachment.sig>

More information about the grass-dev mailing list