Index: trunk/packages/invirt-base/debian/changelog
===================================================================
--- trunk/packages/invirt-base/debian/changelog	(revision 1611)
+++ trunk/packages/invirt-base/debian/changelog	(revision 1612)
@@ -1,2 +1,8 @@
+invirt-base (0.0.9) unstable; urgency=low
+
+  * Move useful Python exceptions into invirt.common
+
+ -- Evan Broder <broder@mit.edu>  Tue, 11 Nov 2008 00:32:19 -0500
+
 invirt-base (0.0.8) unstable; urgency=low
 
Index: trunk/packages/invirt-base/python/invirt/common.py
===================================================================
--- trunk/packages/invirt-base/python/invirt/common.py	(revision 1611)
+++ trunk/packages/invirt-base/python/invirt/common.py	(revision 1612)
@@ -38,4 +38,24 @@
 
 #
+# 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.
 #
Index: trunk/packages/invirt-web/code/controls.py
===================================================================
--- trunk/packages/invirt-web/code/controls.py	(revision 1611)
+++ trunk/packages/invirt-web/code/controls.py	(revision 1612)
@@ -4,5 +4,5 @@
 
 import validation
-from webcommon import CodeError, InvalidInput
+from invirt.common import CodeError, InvalidInput
 import random
 import subprocess
Index: trunk/packages/invirt-web/code/main.py
===================================================================
--- trunk/packages/invirt-web/code/main.py	(revision 1611)
+++ trunk/packages/invirt-web/code/main.py	(revision 1612)
@@ -37,5 +37,5 @@
 import validation
 import cache_acls
-from webcommon import InvalidInput, CodeError, State
+from webcommon import State
 import controls
 from getafsgroups import getAfsGroupMembers
@@ -43,4 +43,5 @@
 from invirt.database import Machine, CDROM, session, connect, MachineAccess, Type, Autoinstall
 from invirt.config import structs as config
+from invirt.common import InvalidInput, CodeError
 
 def pathSplit(path):
Index: trunk/packages/invirt-web/code/validation.py
===================================================================
--- trunk/packages/invirt-web/code/validation.py	(revision 1611)
+++ trunk/packages/invirt-web/code/validation.py	(revision 1612)
@@ -8,5 +8,5 @@
 from invirt.database import Machine, NIC, Type, Disk, CDROM, Autoinstall
 from invirt.config import structs as config
-from webcommon import InvalidInput
+from invirt.common import InvalidInput
 
 MAX_MEMORY_TOTAL = 512
Index: trunk/packages/invirt-web/code/webcommon.py
===================================================================
--- trunk/packages/invirt-web/code/webcommon.py	(revision 1611)
+++ trunk/packages/invirt-web/code/webcommon.py	(revision 1612)
@@ -4,24 +4,4 @@
 from invirt import database
 from invirt.database import Machine, MachineAccess
-
-class MyException(Exception):
-    """Base class for my exceptions"""
-    pass
-
-class InvalidInput(MyException):
-    """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(MyException):
-    """Exception for internal errors or bad faith input."""
-    pass
 
 import controls
