Source code for pygrass.errors
from functools import wraps
from grass.exceptions import GrassError
from grass.pygrass.messages import get_msgr
import grass.lib.gis as libgis
[docs]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
[docs]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
[docs]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