Source code for pkgcore.exceptions

"""Base pkgcore exceptions."""

from snakeoil.cli.exceptions import UserException


[docs] class PkgcoreException(Exception): """Generic pkgcore exception."""
[docs] class PkgcoreUserException(PkgcoreException, UserException): """Generic pkgcore exception with a sane string for non-debug, user-facing output."""
[docs] class PermissionDenied(PermissionError, PkgcoreUserException): def __init__(self, path, message=None, write=False): if message is None: if write: message = "write access required" else: message = "read access required" self.path = path self.message = message def __str__(self): s = f"permission denied to {self.path!r}" if self.message: s += f"; {self.message}" return s