[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: