platypush/platypush/exceptions/__init__.py

20 lines
542 B
Python

from typing import Optional, Union
class PlatypushException(Exception):
"""
Base class for all Platypush exceptions.
"""
def __init__(self, error: Optional[Union[str, Exception]] = None, *args):
super().__init__(*args)
self._inner_exception = None
self._msg = None
if isinstance(error, str):
self._msg = error
elif isinstance(error, Exception):
self._inner_exception = error
self._msg = str(error)
def __str__(self):
return self._msg