]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
Improve database tests.
[dak.git] / daklib / dbconn.py
index 9e1b29bbe44ca84845ac81d2a258059037c7cb52..0db4caf1be04dd28809d9bea116df1267ae04c87 100755 (executable)
@@ -64,14 +64,22 @@ from dak_exceptions import NoSourceFieldError
 # Patch in support for the debversion field type so that it works during
 # reflection
 
-class DebVersion(sqltypes.UserDefinedType):
+try:
+    # that is for sqlalchemy 0.6
+    UserDefinedType = sqltypes.UserDefinedType
+except:
+    # this one for sqlalchemy 0.5
+    UserDefinedType = sqltypes.TypeEngine
+
+class DebVersion(UserDefinedType):
     def get_col_spec(self):
         return "DEBVERSION"
 
     def bind_processor(self, dialect):
         return None
 
-    def result_processor(self, dialect):
+    # ' = None' is needed for sqlalchemy 0.5:
+    def result_processor(self, dialect, coltype = None):
         return None
 
 sa_major_version = sqlalchemy.__version__[0:3]
@@ -1218,8 +1226,8 @@ __all__.append('add_poolfile')
 ################################################################################
 
 class Fingerprint(object):
-    def __init__(self, *args, **kwargs):
-        pass
+    def __init__(self, fingerprint = None):
+        self.fingerprint = fingerprint
 
     def __repr__(self):
         return '<Fingerprint %s>' % self.fingerprint
@@ -2668,8 +2676,9 @@ __all__.append('get_suite_src_formats')
 ################################################################################
 
 class Uid(object):
-    def __init__(self, *args, **kwargs):
-        pass
+    def __init__(self, uid = None, name = None):
+        self.uid = uid
+        self.name = name
 
     def __eq__(self, val):
         if isinstance(val, str):