summaryrefslogtreecommitdiffstats
path: root/aioeapi/errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'aioeapi/errors.py')
-rw-r--r--aioeapi/errors.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/aioeapi/errors.py b/aioeapi/errors.py
new file mode 100644
index 0000000..1c415b2
--- /dev/null
+++ b/aioeapi/errors.py
@@ -0,0 +1,30 @@
+import httpx
+
+
+class EapiCommandError(RuntimeError):
+ """
+ Exception class for EAPI command errors
+
+ Attributes
+ ----------
+ failed: str - the failed command
+ errmsg: str - a description of the failure reason
+ passed: List[dict] - a list of command results of the commands that passed
+ not_exec: List[str] - a list of commands that were not executed
+ """
+
+ def __init__(self, failed: str, errmsg: str, passed, not_exec):
+ """Initializer for the EapiCommandError exception"""
+ self.failed = failed
+ self.errmsg = errmsg
+ self.passed = passed
+ self.not_exec = not_exec
+ super(EapiCommandError, self).__init__()
+
+ def __str__(self):
+ """returns the error message associated with the exception"""
+ return self.errmsg
+
+
+# alias for exception during sending-receiving
+EapiTransportError = httpx.HTTPStatusError