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

[dak/master] Add filename de-duplication to contents scanning.



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

diff --git a/daklib/contents.py b/daklib/contents.py
index bbbacd4..27ffdda 100755
--- a/daklib/contents.py
+++ b/daklib/contents.py
@@ -257,18 +257,12 @@ class ContentsScanner(object):
         '''
         session = DBConn().session()
         binary = session.query(DBBinary).get(self.binary_id)
-        empty_package = True
-        for filename in binary.scan_contents():
+        fileset = set(binary.scan_contents())
+        if len(fileset) == 0:
+            fileset.add('EMPTY_PACKAGE')
+        for filename in fileset:
             binary.contents.append(BinContents(file = filename))
-            empty_package = False
-        if empty_package:
-            binary.contents.append(BinContents(file = 'EMPTY_PACKAGE'))
-        try:
-            session.commit()
-        except IntegrityError:
-            session.rollback()
-            binary.contents.append(BinContents(file = 'DUPLICATE_FILENAMES'))
-            session.commit()
+        session.commit()
         session.close()
 
     @classmethod
-- 
1.7.2.3


Reply to: