Move CodeError and InvalidInput into invirt.common
[invirt/packages/invirt-base.git] / python / invirt / common.py
index 77770a6..69317fb 100644 (file)
@@ -37,6 +37,26 @@ def lock_file(path, exclusive = True):
             flock(f, LOCK_UN)
 
 #
+# Exceptions.
+#
+
+class InvalidInput(Exception):
+    """Exception for user-provided input is invalid but maybe in good faith.
+
+    This would include setting memory to negative (which might be a
+    typo) but not setting an invalid boot CD (which requires bypassing
+    the select box).
+    """
+    def __init__(self, err_field, err_value, expl=None):
+        MyException.__init__(self, expl)
+        self.err_field = err_field
+        self.err_value = err_value
+
+class CodeError(Exception):
+    """Exception for internal errors or bad faith input."""
+    pass
+
+#
 # Tests.
 #