# Source code for pygrass.errors

    # -*- coding: utf-8 -*-
    from functools import wraps

    from grass.exceptions import (FlagError, ParameterError, DBError,
                                  GrassError, OpenError)

    from grass.pygrass.messages import get_msgr
    import grass.lib.gis as libgis

    def must_be_open(method):

        @wraps(method)
        def wrapper(self, *args, **kargs):
            if self.is_open():
                return method(self, *args, **kargs)
            else:
                msgr = get_msgr()
                msgr.warning(_("The map is close!"))
        return wrapper

    def mapinfo_must_be_set(method):

        @wraps(method)
        def wrapper(self, *args, **kargs):
            if self.c_mapinfo:
                return method(self, *args, **kargs)
            else:
                raise GrassError(_("The self.c_mapinfo pointer must be "
                                     "correctly initiated"))
        return wrapper

    def must_be_in_current_mapset(method):

        @wraps(method)
        def wrapper(self, *args, **kargs):
            if self.mapset == libgis.G_mapset().decode():
                return method(self, *args, **kargs)
            else:
                raise GrassError(_("Map <{}> not found in current mapset").format(
                    self.name))

        return wrapper

Help Index | Topics Index | Keywords Index | Full Index

© 2003-2020 GRASS Development Team, GRASS GIS 7.9.dev Reference Manual