Explorar o código

v.db.univar: check if map exists
catch error from db.univar


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@63898 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa %!s(int64=10) %!d(string=hai) anos
pai
achega
9322841643
Modificáronse 1 ficheiros con 11 adicións e 6 borrados
  1. 11 6
      scripts/v.db.univar/v.db.univar.py

+ 11 - 6
scripts/v.db.univar/v.db.univar.py

@@ -54,6 +54,7 @@
 import sys
 import os
 import grass.script as grass
+from grass.exceptions import CalledModuleError
 
 def main():
     global tmp
@@ -67,7 +68,9 @@ def main():
     extend = flags['e']
     shellstyle = flags['g']
 
-    
+    if not grass.find_file(vector, element='vector')['file']:
+        grass.fatal(_("Vector map <%s> not found") % vector)
+        
     fi = grass.vector_db(vector, stderr = nuldev)[int(layer)]
     table = fi['table']
     database = fi['database']
@@ -81,12 +84,14 @@ def main():
 	    passflags = 'g'
 	else:
 	    passflags = passflags + 'g'
-    
-    grass.run_command('db.univar', table = table, column = column, 
-                      database = database, driver = driver,
-		      perc = perc, where = where, flags = passflags)
-
 
+    try:
+        grass.run_command('db.univar', table = table, column = column, 
+                          database = database, driver = driver,
+                          perc = perc, where = where, flags = passflags)
+    except CalledModuleError:
+        sys.exit(1)
+    
 if __name__ == "__main__":
     options, flags = grass.parser()
     nuldev = file(os.devnull, 'w')