]> git.donarmstrong.com Git - dak.git/blobdiff - dak/export_suite.py
Initial pass at dak web server
[dak.git] / dak / export_suite.py
index a4a595310657fee1b5c6b3a0c8733b8435a4e464..23775583b67030b78da306e0b3e2440cc5c577e8 100644 (file)
@@ -76,8 +76,21 @@ def main(argv=None):
 
     with FilesystemTransaction() as fs:
         for f in files:
+            af = session.query(ArchiveFile) \
+                        .join(ArchiveFile.component).join(ArchiveFile.file) \
+                        .filter(ArchiveFile.archive == suite.archive) \
+                        .filter(ArchiveFile.file == f).first()
+            # XXX: Remove later. There was a bug that caused only the *.dsc to
+            # be installed in build queues and we do not want to break them.
+            # The bug was fixed in 55d2c7e6e2418518704623246021021e05b90e58
+            # on 2012-11-04
+            if af is None:
+                af = session.query(ArchiveFile) \
+                            .join(ArchiveFile.component).join(ArchiveFile.file) \
+                            .filter(ArchiveFile.file == f).first()
             dst = os.path.join(directory, f.basename)
-            fs.copy(f.fullpath, dst, symlink=symlink)
+            if not os.path.exists(dst):
+                fs.copy(af.path, dst, symlink=symlink)
         fs.commit()
 
 if __name__ == '__main__':