Module redvox.common.errors
This module contains custom error definitions used within this SDK.
Expand source code
"""
This module contains custom error definitions used within this SDK.
"""
from typing import List
class RedVoxError(Exception):
"""
This class represents generic RedVox SDK errors.
"""
def __init__(self, message: str):
super().__init__(f"RedVoxError: {message}")
class RedVoxExceptions:
"""
This class represents multiple generic Redvox SDK errors for another class specified by obj_class.
"""
def __init__(self, obj_class: str):
self._obj_class = obj_class
self._errors: List[RedVoxError] = []
self._num_errors: int = 0
def __repr__(self):
return str(self.as_dict())
def __str__(self):
return str(self.as_dict())
def get(self) -> List[RedVoxError]:
"""
:return: the list of errors
"""
return [a for a in self._errors]
def append(self, msg: str):
"""
append an error message to the list of errors
:param msg: error message to add
"""
self._errors.append(RedVoxError(f"{self._obj_class}: {msg}"))
self._num_errors += 1
def append_error(self, error: RedVoxError):
"""
append an error to the list of errors
:param error: error to add
"""
self._errors.append(error)
self._num_errors += 1
def extend(self, msgs: List[str]):
"""
extend a list of error messages to the list of errors
:param msgs: error messages to add
"""
self._errors.extend([RedVoxError(msg) for msg in msgs])
self._num_errors += len(msgs)
def extend_error(self, errors: "RedVoxExceptions"):
"""
extend a list of error messages to the list of errors
:param errors: errors to add
"""
self._errors.extend(errors.get())
self._num_errors += errors.get_num_errors()
def get_num_errors(self) -> int:
"""
:return: the number of errors
"""
return self._num_errors
def print(self):
"""
print all errors
"""
if self._num_errors > 0:
print(f"Errors encountered while creating {self._obj_class}:")
for error in self._errors:
print(error)
def as_dict(self) -> dict:
"""
:return: self as dict
"""
if self._num_errors > 0:
return {
"obj_class": self._obj_class,
"num_errors": self._num_errors,
"errors": [str(e) for e in self._errors]
}
return {"obj_class": self._obj_class}
@staticmethod
def from_dict(errors_dict: dict) -> "RedVoxExceptions":
"""
:param errors_dict: dictionary representing a RedVoxExceptions object
:return: a RedVoxExceptions object
"""
if "obj_class" not in errors_dict.keys():
result = RedVoxExceptions("ExceptionsLoadFailure")
result.append("Failed to load errors due to missing obj_class")
else:
result = RedVoxExceptions(errors_dict["obj_class"])
if "errors" in errors_dict.keys():
for er in errors_dict["errors"]:
result.append(er)
return result
Classes
class RedVoxError (message: str)
-
This class represents generic RedVox SDK errors.
Expand source code
class RedVoxError(Exception): """ This class represents generic RedVox SDK errors. """ def __init__(self, message: str): super().__init__(f"RedVoxError: {message}")
Ancestors
- builtins.Exception
- builtins.BaseException
Subclasses
class RedVoxExceptions (obj_class: str)
-
This class represents multiple generic Redvox SDK errors for another class specified by obj_class.
Expand source code
class RedVoxExceptions: """ This class represents multiple generic Redvox SDK errors for another class specified by obj_class. """ def __init__(self, obj_class: str): self._obj_class = obj_class self._errors: List[RedVoxError] = [] self._num_errors: int = 0 def __repr__(self): return str(self.as_dict()) def __str__(self): return str(self.as_dict()) def get(self) -> List[RedVoxError]: """ :return: the list of errors """ return [a for a in self._errors] def append(self, msg: str): """ append an error message to the list of errors :param msg: error message to add """ self._errors.append(RedVoxError(f"{self._obj_class}: {msg}")) self._num_errors += 1 def append_error(self, error: RedVoxError): """ append an error to the list of errors :param error: error to add """ self._errors.append(error) self._num_errors += 1 def extend(self, msgs: List[str]): """ extend a list of error messages to the list of errors :param msgs: error messages to add """ self._errors.extend([RedVoxError(msg) for msg in msgs]) self._num_errors += len(msgs) def extend_error(self, errors: "RedVoxExceptions"): """ extend a list of error messages to the list of errors :param errors: errors to add """ self._errors.extend(errors.get()) self._num_errors += errors.get_num_errors() def get_num_errors(self) -> int: """ :return: the number of errors """ return self._num_errors def print(self): """ print all errors """ if self._num_errors > 0: print(f"Errors encountered while creating {self._obj_class}:") for error in self._errors: print(error) def as_dict(self) -> dict: """ :return: self as dict """ if self._num_errors > 0: return { "obj_class": self._obj_class, "num_errors": self._num_errors, "errors": [str(e) for e in self._errors] } return {"obj_class": self._obj_class} @staticmethod def from_dict(errors_dict: dict) -> "RedVoxExceptions": """ :param errors_dict: dictionary representing a RedVoxExceptions object :return: a RedVoxExceptions object """ if "obj_class" not in errors_dict.keys(): result = RedVoxExceptions("ExceptionsLoadFailure") result.append("Failed to load errors due to missing obj_class") else: result = RedVoxExceptions(errors_dict["obj_class"]) if "errors" in errors_dict.keys(): for er in errors_dict["errors"]: result.append(er) return result
Static methods
def from_dict(errors_dict: dict) ‑> RedVoxExceptions
-
:param errors_dict: dictionary representing a RedVoxExceptions object :return: a RedVoxExceptions object
Expand source code
@staticmethod def from_dict(errors_dict: dict) -> "RedVoxExceptions": """ :param errors_dict: dictionary representing a RedVoxExceptions object :return: a RedVoxExceptions object """ if "obj_class" not in errors_dict.keys(): result = RedVoxExceptions("ExceptionsLoadFailure") result.append("Failed to load errors due to missing obj_class") else: result = RedVoxExceptions(errors_dict["obj_class"]) if "errors" in errors_dict.keys(): for er in errors_dict["errors"]: result.append(er) return result
Methods
def append(self, msg: str)
-
append an error message to the list of errors
:param msg: error message to add
Expand source code
def append(self, msg: str): """ append an error message to the list of errors :param msg: error message to add """ self._errors.append(RedVoxError(f"{self._obj_class}: {msg}")) self._num_errors += 1
def append_error(self, error: RedVoxError)
-
append an error to the list of errors
:param error: error to add
Expand source code
def append_error(self, error: RedVoxError): """ append an error to the list of errors :param error: error to add """ self._errors.append(error) self._num_errors += 1
def as_dict(self) ‑> dict
-
:return: self as dict
Expand source code
def as_dict(self) -> dict: """ :return: self as dict """ if self._num_errors > 0: return { "obj_class": self._obj_class, "num_errors": self._num_errors, "errors": [str(e) for e in self._errors] } return {"obj_class": self._obj_class}
def extend(self, msgs: List[str])
-
extend a list of error messages to the list of errors
:param msgs: error messages to add
Expand source code
def extend(self, msgs: List[str]): """ extend a list of error messages to the list of errors :param msgs: error messages to add """ self._errors.extend([RedVoxError(msg) for msg in msgs]) self._num_errors += len(msgs)
def extend_error(self, errors: RedVoxExceptions)
-
extend a list of error messages to the list of errors
:param errors: errors to add
Expand source code
def extend_error(self, errors: "RedVoxExceptions"): """ extend a list of error messages to the list of errors :param errors: errors to add """ self._errors.extend(errors.get()) self._num_errors += errors.get_num_errors()
def get(self) ‑> List[RedVoxError]
-
:return: the list of errors
Expand source code
def get(self) -> List[RedVoxError]: """ :return: the list of errors """ return [a for a in self._errors]
def get_num_errors(self) ‑> int
-
:return: the number of errors
Expand source code
def get_num_errors(self) -> int: """ :return: the number of errors """ return self._num_errors
def print(self)
-
print all errors
Expand source code
def print(self): """ print all errors """ if self._num_errors > 0: print(f"Errors encountered while creating {self._obj_class}:") for error in self._errors: print(error)