Source code for pyscaffold.exceptions

# -*- coding: utf-8 -*-
Custom exceptions used by PyScaffold to identify common deviations from the
expected behavior.

[docs]class ActionNotFound(KeyError): """Impossible to find the required action.""" def __init__(self, name, *args, **kwargs): message = ActionNotFound.__doc__[:-1] + ': `{}`'.format(name) super().__init__(message, *args, **kwargs)
[docs]class DirectoryAlreadyExists(RuntimeError): """The project directory already exists, but no ``update`` or ``force`` option was used. """
[docs]class DirectoryDoesNotExist(RuntimeError): """No directory was found to be updated."""
[docs]class GitNotInstalled(RuntimeError): """PyScaffold requires git to run.""" DEFAULT_MESSAGE = "Make sure git is installed and working." def __init__(self, message=DEFAULT_MESSAGE, *args, **kwargs): super().__init__(message, *args, **kwargs)
[docs]class GitNotConfigured(RuntimeError): """PyScaffold tries to read and from git config.""" DEFAULT_MESSAGE = ( 'Make sure git is configured. Run:\n' ' git config --global ""\n' ' git config --global "Your Name"\n' "to set your account's default identity.") def __init__(self, message=DEFAULT_MESSAGE, *args, **kwargs): super().__init__(message, *args, **kwargs)
[docs]class InvalidIdentifier(RuntimeError): """Python requires a specific format for its identifiers. """
[docs]class OldSetuptools(RuntimeError): """PyScaffold requires a recent version of setuptools.""" DEFAULT_MESSAGE = ( "Your setuptools version is too old (<38.3). " "Use `pip install -U setuptools` to upgrade.\n" "If you have the deprecated `distribute` package installed " "remove it or update to version 0.7.3.") def __init__(self, message=DEFAULT_MESSAGE, *args, **kwargs): super().__init__(message, *args, **kwargs)
[docs]class PyScaffoldTooOld(RuntimeError): """PyScaffold cannot update a pre 3.0 version""" DEFAULT_MESSAGE = ( "setup.cfg has no section [pyscaffold]! " "Are you trying to update a pre 3.0 version?") def __init__(self, message=DEFAULT_MESSAGE, *args, **kwargs): super().__init__(message, *args, **kwargs)
[docs]class NoPyScaffoldProject(RuntimeError): """PyScaffold cannot update a project that it hasn't generated""" DEFAULT_MESSAGE = ( "Could not update project. Was it generated with PyScaffold?") def __init__(self, message=DEFAULT_MESSAGE, *args, **kwargs): super().__init__(message, *args, **kwargs)
[docs]class ShellCommandException(RuntimeError): """Outputs proper logging when a ShellCommand fails""" def __init__(self, message, *args, **kwargs): super().__init__(message, *args, **kwargs)