Source code for schedula.utils.exc

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
# Copyright 2015-2024, Vincenzo Arcidiacono;
# Licensed under the EUPL (the 'Licence');
# You may not use this work except in compliance with the Licence.
# You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl

""" Defines the dispatcher exception. """

__author__ = 'Vincenzo Arcidiacono <vinci1it2000@gmail.com>'


[docs] class DispatcherError(Exception): def __reduce__(self): fn, args, state = super(DispatcherError, self).__reduce__() state = {k: v for k, v in state.items() if k not in ('sol', 'plot')} return fn, args, state def __init__(self, *args, sol=None, ex=None, **kwargs): # noinspection PyArgumentList super(DispatcherError, self).__init__(*args, **kwargs) self.plot = None self.sol = None self.ex = ex self.update(sol) def update(self, sol): self.sol = sol self.plot = self.sol.plot if sol is not None else None
[docs] class DispatcherAbort(BaseException): pass
[docs] class SkipNode(BaseException): def __init__(self, *args, ex=None, **kwargs): # noinspection PyArgumentList super(SkipNode, self).__init__(*args, **kwargs) self.ex = ex
[docs] class ExecutorShutdown(BaseException): pass
[docs] class WebResponse(BaseException): def __init__(self, response): self.response = response