]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
import_new_files is close to working, right now it misses on the non-null constraints...
[dak.git] / daklib / dbconn.py
index c29040a47011fa46dbe43c71f361acd1d0ab2da6..7388208e3478bcf6e5fd1423556ab2fba2f09663 100644 (file)
@@ -565,7 +565,7 @@ class BuildQueue(object):
                 except OSError:
                     pass
 
-    def clean_and_update(self, starttime, dryrun=False):
+    def clean_and_update(self, starttime, Logger, dryrun=False):
         """WARNING: This routine commits for you"""
         session = DBConn().session().object_session(self)
 
@@ -579,9 +579,9 @@ class BuildQueue(object):
             killdb = False
             try:
                 if dryrun:
-                    print "I: Would have removed %s from the queue" % o.fullpath
+                    Logger.log(["I: Would have removed %s from the queue" % o.fullpath])
                 else:
-                    print "I: Removing %s from the queue" % o.fullpath
+                    Logger.log(["I: Removing %s from the queue" % o.fullpath])
                     os.unlink(o.fullpath)
                     killdb = True
             except OSError, e:
@@ -590,7 +590,7 @@ class BuildQueue(object):
                     killdb = True
                 else:
                     # TODO: Replace with proper logging call
-                    print "E: Could not remove %s" % o.fullpath
+                    Logger.log(["E: Could not remove %s" % o.fullpath])
 
             if killdb:
                 session.delete(o)
@@ -606,13 +606,13 @@ class BuildQueue(object):
             except NoResultFound:
                 fp = os.path.join(self.path, f)
                 if dryrun:
-                    print "I: Would remove unused link %s" % fp
+                    Logger.log(["I: Would remove unused link %s" % fp])
                 else:
-                    print "I: Removing unused link %s" % fp
+                    Logger.log(["I: Removing unused link %s" % fp])
                     try:
                         os.unlink(fp)
                     except OSError:
-                        print "E: Failed to unlink unreferenced file %s" % r.fullpath
+                        Logger.log(["E: Failed to unlink unreferenced file %s" % r.fullpath])
 
     def add_file_from_pool(self, poolfile):
         """Copies a file into the pool.  Assumes that the PoolFile object is
@@ -1152,7 +1152,7 @@ def get_poolfile_like_name(filename, session=None):
     """
 
     # TODO: There must be a way of properly using bind parameters with %FOO%
-    q = session.query(PoolFile).filter(PoolFile.filename.like('%%%s%%' % filename))
+    q = session.query(PoolFile).filter(PoolFile.filename.like('%%/%s' % filename))
 
     return q.all()
 
@@ -2843,6 +2843,16 @@ class DBConn(object):
                                  poolfiles = relation(PoolFile,
                                                       secondary=self.tbl_changes_pool_files,
                                                       backref="changeslinks"),
+                                 seen = self.tbl_changes.c.seen,
+                                 source = self.tbl_changes.c.source,
+                                 binaries = self.tbl_changes.c.binaries,
+                                 architecture = self.tbl_changes.c.architecture,
+                                 distribution = self.tbl_changes.c.distribution,
+                                 urgency = self.tbl_changes.c.urgency,
+                                 maintainer = self.tbl_changes.c.maintainer,
+                                 changedby = self.tbl_changes.c.changedby,
+                                 date = self.tbl_changes.c.date,
+                                 version = self.tbl_changes.c.version,
                                  files = relation(ChangePendingFile,
                                                   secondary=self.tbl_changes_pending_files_map,
                                                   backref="changesfile"),
@@ -2855,7 +2865,12 @@ class DBConn(object):
                properties = dict(change_pending_binary_id = self.tbl_changes_pending_binaries.c.id))
 
         mapper(ChangePendingFile, self.tbl_changes_pending_files,
-               properties = dict(change_pending_file_id = self.tbl_changes_pending_files.c.id))
+               properties = dict(change_pending_file_id = self.tbl_changes_pending_files.c.id,
+                                 filename = self.tbl_changes_pending_files.c.filename,
+                                 size = self.tbl_changes_pending_files.c.size,
+                                 md5sum = self.tbl_changes_pending_files.c.md5sum,
+                                 sha1sum = self.tbl_changes_pending_files.c.sha1sum,
+                                 sha256sum = self.tbl_changes_pending_files.c.sha256sum))
 
         mapper(ChangePendingSource, self.tbl_changes_pending_source,
                properties = dict(change_pending_source_id = self.tbl_changes_pending_source.c.id,