]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
Add by-hash support
[dak.git] / daklib / dbconn.py
index c792ff5a7e48e18f78cb00d1bc93863aca24855a..58ad0412232a78f18c01012c1ab5b9b5ba305cb5 100755 (executable)
@@ -109,11 +109,11 @@ class DebVersion(UserDefinedType):
         return None
 
 sa_major_version = sqlalchemy.__version__[0:3]
-if sa_major_version in ["0.5", "0.6", "0.7", "0.8", "0.9"]:
+if sa_major_version in ["0.5", "0.6", "0.7", "0.8", "0.9", "1.0"]:
     from sqlalchemy.databases import postgres
     postgres.ischema_names['debversion'] = DebVersion
 else:
-    raise Exception("dak only ported to SQLA versions 0.5 to 0.9 (%s installed).  See daklib/dbconn.py" % sa_major_version)
+    raise Exception("dak only ported to SQLA versions 0.5 to 1.0 (%s installed).  See daklib/dbconn.py" % sa_major_version)
 
 ################################################################################
 
@@ -1948,6 +1948,9 @@ class Suite(ORMObject):
         else:
             return object_session(self).query(Suite).filter_by(suite_name=self.overridesuite).one()
 
+    def update_last_changed(self):
+        self.last_changed = sqlalchemy.func.now()
+
     @property
     def path(self):
         return os.path.join(self.archive.path, 'dists', self.suite_name)
@@ -2158,7 +2161,8 @@ class BinaryMetadata(ORMObject):
     def __init__(self, key = None, value = None, binary = None):
         self.key = key
         self.value = value
-        self.binary = binary
+        if binary is not None:
+            self.binary = binary
 
     def properties(self):
         return ['binary', 'key', 'value']
@@ -2174,7 +2178,8 @@ class SourceMetadata(ORMObject):
     def __init__(self, key = None, value = None, source = None):
         self.key = key
         self.value = value
-        self.source = source
+        if source is not None:
+            self.source = source
 
     def properties(self):
         return ['source', 'key', 'value']