[GRASS-SVN] r71032 - grass-addons/grass7/raster/r.vect.stats
svn_grass at osgeo.org
svn_grass at osgeo.org
Fri May 5 06:45:58 PDT 2017
Author: martinl
Date: 2017-05-05 06:45:58 -0700 (Fri, 05 May 2017)
New Revision: 71032
Modified:
grass-addons/grass7/raster/r.vect.stats/r.vect.stats.py
Log:
r.vect.stats: check if column is numeric
Modified: grass-addons/grass7/raster/r.vect.stats/r.vect.stats.py
===================================================================
--- grass-addons/grass7/raster/r.vect.stats/r.vect.stats.py 2017-05-05 13:23:10 UTC (rev 71031)
+++ grass-addons/grass7/raster/r.vect.stats/r.vect.stats.py 2017-05-05 13:45:58 UTC (rev 71032)
@@ -36,9 +36,11 @@
#% guisection: Attributes
#%end
+import sys
+
import grass.script as gs
+from grass.exceptions import CalledModuleError
-
def main():
options, flags = gs.parser()
@@ -49,12 +51,24 @@
z = 3
sep = 'pipe'
out_args = {}
+
+ if not gs.find_file(vector, element='vector')['fullname']:
+ gs.fatal('Vector map <{0}> not found'.format(vector))
+
if options['column']:
method = options['method']
z = 4
out_args['column'] = options['column']
- out_args['where'] = '{} IS NOT NULL'.format(options['column'])
-
+ out_args['where'] = '{0} IS NOT NULL'.format(options['column'])
+
+ columns = gs.vector_columns(vector)
+
+ if options['column'] not in columns:
+ gs.fatal(_('Column <{0}> not found'.format(options['column'])))
+ if columns[options['column']]['type'] not in ('INTEGER', 'DOUBLE PRECISION'):
+ gs.fatal(_('Column <{0}> is not numeric'.format(options['column'])))
+
+
out_process = gs.pipe_command(
'v.out.ascii', input=vector, layer=layer, format='point',
separator=sep, **out_args)
@@ -64,6 +78,7 @@
in_process.communicate()
out_process.wait()
+ return 0
if __name__ == "__main__":
- main()
+ sys.exit(main())
More information about the grass-commit
mailing list