:mod:`weaver.exceptions` ======================== .. py:module:: weaver.exceptions .. autoapi-nested-parse:: Errors raised during the weaver flow. Module Contents --------------- .. data:: LOGGER .. py:exception:: WeaverException Bases: :class:`Exception` Base class of exceptions defined by :mod:`weaver` package. .. py:exception:: InvalidIdentifierValue Bases: :class:`weaver.exceptions.WeaverException`, :class:`ValueError` Error indicating that an id to be employed for following operations is not considered as valid to allow further processed or usage. .. py:exception:: ServiceException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.datatype.Service`. .. py:exception:: ServiceNotAccessible Bases: :class:`weaver.exceptions.ServiceException` Error indicating that a WPS service exists but is not visible to retrieve from the storage backend of an instance of :class:`weaver.store.ServiceStore`. .. py:exception:: ServiceNotFound Bases: :class:`weaver.exceptions.ServiceException` Error indicating that an OWS service could not be read from the storage backend by an instance of :class:`weaver.store.ServiceStore`. .. py:exception:: ServiceRegistrationError Bases: :class:`weaver.exceptions.ServiceException` Error indicating that an OWS service could not be registered in the storage backend by an instance of :class:`weaver.store.ServiceStore`. .. py:exception:: ProcessException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.datatype.Process`. .. py:exception:: ProcessNotAccessible Bases: :class:`weaver.exceptions.ProcessException` Error indicating that a local WPS process exists but is not visible to retrieve from the storage backend of an instance of :class:`weaver.store.ProcessStore`. .. py:exception:: ProcessNotFound Bases: :class:`weaver.exceptions.ProcessException` Error indicating that a local WPS process could not be read from the storage backend by an instance of :class:`weaver.store.ProcessStore`. .. py:exception:: ProcessRegistrationError Bases: :class:`weaver.exceptions.ProcessException` Error indicating that a WPS process could not be registered in the storage backend by an instance of :class:`weaver.store.ProcessStore`. .. py:exception:: ProcessInstanceError Bases: :class:`weaver.exceptions.ProcessException` Error indicating that the process instance passed is not supported with storage backend by an instance of :class:`weaver.store.ProcessStore`. .. py:exception:: JobException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.datatype.Job`. .. py:exception:: JobNotFound Bases: :class:`weaver.exceptions.JobException` Error indicating that a job could not be read from the storage backend by an instance of :class:`weaver.store.JobStore`. .. py:exception:: JobRegistrationError Bases: :class:`weaver.exceptions.JobException` Error indicating that a job could not be registered in the storage backend by an instance of :class:`weaver.store.JobStore`. .. py:exception:: JobUpdateError Bases: :class:`weaver.exceptions.JobException` Error indicating that a job could not be updated in the storage backend by an instance of :class:`weaver.store.JobStore`. .. py:exception:: PackageException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.processes.wps_package.Package`. .. py:exception:: PackageTypeError Bases: :class:`weaver.exceptions.PackageException` Error indicating that an instance of :class:`weaver.processes.wps_package.Package` could not properly parse input/output type(s) for package deployment or execution. .. py:exception:: PackageRegistrationError Bases: :class:`weaver.exceptions.PackageException` Error indicating that an instance of :class:`weaver.processes.wps_package.Package` could not properly be registered for package deployment because of invalid prerequisite. .. py:exception:: PackageExecutionError Bases: :class:`weaver.exceptions.PackageException` Error indicating that an instance of :class:`weaver.processes.wps_package.Package` could not properly execute the package using provided inputs and package definition. .. py:exception:: PackageNotFound Bases: :class:`weaver.exceptions.PackageException` Error indicating that an instance of :class:`weaver.processes.wps_package.Package` could not properly retrieve the package definition using provided references. .. py:exception:: PayloadNotFound Bases: :class:`weaver.exceptions.PackageException` Error indicating that an instance of :class:`weaver.processes.wps_package.Package` could not properly retrieve the package deploy payload using provided references. .. py:exception:: QuoteException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.datatype.Quote`. .. py:exception:: QuoteNotFound Bases: :class:`weaver.exceptions.QuoteException` Error indicating that a quote could not be read from the storage backend by an instance of :class:`weaver.store.QuoteStore`. .. py:exception:: QuoteRegistrationError Bases: :class:`weaver.exceptions.QuoteException` Error indicating that a quote could not be registered in the storage backend by an instance of :class:`weaver.store.QuoteStore`. .. py:exception:: QuoteInstanceError Bases: :class:`weaver.exceptions.QuoteException` Error indicating that a given object doesn't correspond to an expected instance of :class:`weaver.datatype.Quote`. .. py:exception:: BillException Bases: :class:`weaver.exceptions.WeaverException` Base exception related to a :class:`weaver.datatype.Bill`. .. py:exception:: BillNotFound Bases: :class:`weaver.exceptions.BillException` Error indicating that a bill could not be read from the storage backend by an instance of :class:`weaver.store.BillStore`. .. py:exception:: BillRegistrationError Bases: :class:`weaver.exceptions.BillException` Error indicating that a bill could not be registered in the storage backend by an instance of :class:`weaver.store.BillStore`. .. py:exception:: BillInstanceError Bases: :class:`weaver.exceptions.BillException` Error indicating that a given object doesn't correspond to an expected instance of :class:`weaver.datatype.Bill`. .. function:: log_unhandled_exceptions(logger=LOGGER, message='Unhandled exception occurred.', exception=Exception, force=False, require_http=True, is_request=True) -> Callable Decorator that will raise ``exception`` with specified ``message`` if an exception is caught while execution the wrapped function, after logging relevant details about the caught exception with ``logger``. :param logger: logger to use for logging (default: use :data:`weaver.exception.LOGGER`). :param message: message that will be logged with details and then raised with ``exception``. :param exception: exception type to be raised instead of the caught exception. :param force: force handling of any raised exception (default: only *known* unhandled exceptions are logged). :param require_http: consider non HTTP-like exceptions as *unknown* and raise one instead (default: ``True`` and raises :class:`HTTPInternalServerError`, unless ``exception`` is HTTP-like). :param is_request: specifies if the decorator is applied onto a registered request function to handle its inputs. :raises exception: if an *unknown* exception was caught (or forced) during the decorated function's execution. :raises Exception: original exception if it is *known*.