/*! \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: - python::core - python::db - python::raster - python::vector - python::setup - python::array Table of content - \subpage pythonScripting - \subpage pythonModules - \subpage pythonCore - \subpage pythonDb - \subpage pythonRaster - \subpage pythonVector - \subpage pythonSetup - \subpage pythonArray \section pythonScripting GRASS scripting tasks for Python provided by "grass.script" The statement \code import grass.script as grass \endcode imports core.py, db.py, raster.py and vector.py modules. To import only selected module \code from grass.script import core as grass \endcode Sample script (See the GRASS Wiki at http://grass.osgeo.org/wiki/GRASS_and_Python for more examples) \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 \gmod{g.message} These all run \gmod{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 \gmod{g.parser} Interface to \gmod{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 \gmod{g.tempfile} Returns the name of a temporary file, created with \gmod{g.tempfile}. - python::core::tempfile() Key-value parsers - python::core::parse_key_val() Interface to \gmod{g.gisenv} - python::core::gisenv() Interface to \gmod{g.region} - python::core::del_temp_region() - python::core::region() - python::core::region_env() - python::core::use_temp_region() Interface to \gmod{g.findfile} - python::core::find_file() Interface to \gmod{g.list} - python::core::list_grouped() - python::core::list_pairs() - python::core::list_strings() - python::core::mlist_grouped() Interface to \gmod{g.mapsets} - python::core::mapsets() Interface to \gmod{g.version} - python::core::version() Color parsing - python::core::parse_color() Check GRASS environment variables - python::core::overwrite() - python::core::verbosity() Create new GRASS location - python::core::create_location() 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 \code from grass.script import setup as gsetup \endcode - python::setup::init() \section pythonArray Array \code from grass.script import array as garray \endcode - python::array::array \section pythonAuthors Authors Glynn Clements Martin Landa */