#!/usr/bin/env python #**************************************************************** #* #* MODULE: v.test_colonna, v 1.0.0 #* #* AUTHOR(S): Antonio Alliegro #* #* PURPOSE: Verifica la tipologia di una colonna #* appartenente ad una copertura vettoriale #* #* COPYRIGHT: (C) 2011 Antonio Alliegro Civil Engineer #* Salerno, Italy #* antonioall(at)libero.it #* #* First Version: 2011/07/06 #* Last Version: 2011/07/06 #* #* This program is free software under the #* GNU General Public License (>=v2). #* Read the file COPYING that comes with GRASS #* for details. #* #**************************************************************** #%module #% description: Verifica la tipologia di una colonna appartenente ad una copertura vettoriale #% keywords: vector #%end #%option #% key: map #% type: string #% gisprompt: old,vector,vector #% key_desc: nome #% description: Nome copertura vettoriale #% required: yes #%end #%option #% key: colonna #% type: string #% key_desc: nome #% description: Nome colonna su cui verificare la tipologia del dato #% required : yes #% gisprompt: old_dbcolumn,dbcolumn,dbcolumn #%end import sys, time import grass.script as grass def test_column_type(cover_name, column_name): grass.message("Estrazione informazioni dal database...") ret = grass.read_command('v.info', flags = 'c', map = cover_name, layer = None, quiet = True) if ret == "" or ret == {}: grass.fatal("") result = dict() for line in ret.splitlines(): ctype, cname = line.split('|') result[cname] = ctype grass.message('completata') try: s = result[column_name] except: s = 1 grass.fatal("La colonna <%s> non esistente." % column_name) return s #End test_column_type def main(): copertura = options['map'] colonna = options['colonna'] grass.message("--------------------------------------------") grass.message("La colonna <%s> e' del tipo: %s" % (colonna, test_column_type(copertura, colonna))) grass.message("--------------------------------------------") return 0 #End main if __name__ == "__main__": options, flags = grass.parser() sys.exit(main())