/*! \page pythonlib GRASS Python Scripting Library by GRASS Development Team (http://grass.osgeo.org) \section pythonIntro Introduction The code in lib/python/ provides grass.script in order to support GRASS scripts written in Python. The scripts/ directory of GRASS contains a series of examples actually provided to the end users. See code in: - core.py - db.py - raster.py - vector.py - setup.py Table of content - \subpage pythonScripting - \subpage pythonModules - \subpage pythonCore - \subpage pythonDb - \subpage pythonRaster - \subpage pythonVector - \subpage pythonSetup \section pythonScripting GRASS scripting tasks for Python provided by "grass.script" Usage: \code import grass.script as grass \endcode or just import selected module, e.g. \code from grass.script import core as grass \endcode Sample script \code #!/usr/bin/env python #%module #% description: Checks if vector map is 3D #% keywords: vector #%end #%option #% key: map #% type: string #% gisprompt: old,vector,vector #% key_desc: name #% description: Name of vector map #% required: yes #%end import sys import grass.script as grass def main(): info = grass.vector_info_topo(map = options['map']) if info['map3d']: print 'Vector map is 3D' else: print 'Vector map is 2D' return 0 if __name__ == "__main__": options, flags = grass.parser() sys.exit(main()) \endcode \section pythonModules List of modules \subsection pythonCore Core GRASS-oriented interface to subprocess module - python::core::exec_command() - python::core::feed_command() - python::core::make_command() - python::core::parse_command() - python::core::pipe_command() - python::core::read_command() - python::core::run_command() - python::core::start_command() - python::core::write_command() Interface to g.message These all run g.message, differing only in which flag (if any) is used. fatal() is error(), but also calls sys.exit(1). - python::core::debug() - python::core::error() - python::core::fatal() - python::core::info() - python::core::message() - python::core::verbose() - python::core::warning() Interface to g.parser Interface to g.parser, intended to be run from the top-level, e.g. \code if __name__ == "__main__": options, flags = grass.parser() main() \endcode - python::core::parser() Interface to g.tempfile Returns the name of a temporary file, created with g.tempfile. - python::core::tempfile() Key-value parsers - python::core::parse_key_val() Interface to g.gisenv - python::core::gisenv() Interface to g.region - python::core::del_temp_region() - python::core::region() - python::core::use_temp_region() Interface to g.findfile - python::core::find_file() Interface to g.list - python::core::list_grouped() - python::core::list_pairs() - python::core::list_strings() - python::core::mlist_grouped() Interface to g.mapsets - python::core::mapsets() Interface to g.version - python::core::version() Color parsing - python::core::parse_color() Check GRASS environment variables - python::core::overwrite() - python::core::verbosity() Various utilities, not specific to GRASS - python::core::basename() - python::core::find_program() - python::core::try_remove() - python::core::try_rmdir() - python::core::float_or_dms() \section pythonDb Database Interface for db.* modules. - python::db::db_connection() - python::db::db_describe() - python::db::db_select() \section pythonRaster Raster Interface for r.* modules. - python::raster::raster_history() - python::raster::raster_info() - python::raster::mapcalc() \section pythonVector Vector Interface for v.* modules. - python::vector::vector_columns() - python::vector::vector_db() - python::vector::vector_db_select() - python::vector::vector_history() - python::vector::vector_info_topo() - python::vector::vector_layer_db() \section pythonSetup Setup - python::setup::init() \section pythonAuthors Authors Glynn Clements Martin Landa */