Source code for doitoml.errors

"""Custom exceptions for ``doitoml``."""


[docs]class DoitomlError(ValueError): """Some kind of error in ``doitoml``."""
[docs]class PyError(DoitomlError): """An error related to discovering and calling user-defined Python functions."""
[docs]class SchemaError(DoitomlError): """An error related to a non-conforming ``doitoml`` configuration."""
[docs]class MissingDependencyError(ValueError): """An error related to a missing (optional) dependency."""
[docs]class ConfigError(DoitomlError): """An error related to configuration."""
[docs]class UnsafePathError(ConfigError): """An error related to unsafe paths."""
[docs]class SkipError(ConfigError): """An error related to an ambiguous skip."""
[docs]class NoConfigError(ConfigError): """An error when no configuration at all is found."""
[docs]class UnresolvedError(ConfigError): """A config error related to unresolved values."""
[docs]class PrefixError(ConfigError): """A config error related to prefixes of configuration files."""
[docs]class DslError(ConfigError): """An error related to a domain-specific language plugin during configuration."""
[docs]class EnvVarError(ConfigError): """An error related to an environment variable during configuration."""
[docs]class EntryPointError(DoitomlError): """An error related to initializing entry points."""
[docs]class ParseError(DoitomlError): """An error related to source parsing."""
[docs]class TaskError(DoitomlError): """An error related to generating valid tasks."""
[docs]class UpdaterError(TaskError): """An error related to an up-to-date checker."""
[docs]class MetaError(TaskError): """An error related to ``doitoml`` task metadata."""
[docs]class TemplaterError(ConfigError): """An error related to templates."""
[docs]class JsonEError(ConfigError): """An error related to JSON-e."""
[docs]class NoTemplaterError(TemplaterError): """An error related to missing templaters."""
[docs]class ActionError(TaskError): """An error related to task actions."""
[docs]class ActorError(ActionError): """An error related to custom actor actions."""
[docs]class NoActorError(ActorError): """An error related to a missing actor."""
[docs]class Jinja2Error(ActorError): """An error related to Jinja2 templates."""