[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Add workaround for duplicate filenames in contents.



Signed-off-by: Torsten Werner <twerner@debian.org>
---
 daklib/contents.py |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/daklib/contents.py b/daklib/contents.py
index e2e3817..65e7e3f 100755
--- a/daklib/contents.py
+++ b/daklib/contents.py
@@ -31,6 +31,7 @@ from daklib.threadpool import ThreadPool
 from multiprocessing import Pool
 
 from sqlalchemy import desc, or_
+from sqlalchemy.exc import IntegrityError
 from subprocess import Popen, PIPE, call
 
 import os.path
@@ -253,7 +254,12 @@ class ContentsScanner(object):
         binary = session.query(DBBinary).get(self.binary_id)
         for filename in binary.scan_contents():
             binary.contents.append(BinContents(file = filename))
-        session.commit()
+        try:
+            session.commit()
+        except IntegrityError:
+            session.rollback()
+            binary.contents.append(BinContents(file = 'DUPLICATE_FILENAMES'))
+            session.commit()
         session.close()
 
     @classmethod
-- 
1.7.2.3


Reply to: