from multiprocessing import Pool
from sqlalchemy import desc, or_
+from sqlalchemy.exc import IntegrityError
from subprocess import Popen, PIPE, call
import os.path
'''
overridesuite = self.suite
if self.suite.overridesuite is not None:
- overridesuite = self.suite.overridesuite
+ overridesuite = get_suite(self.suite.overridesuite, self.session)
params = {
'suite': self.suite.suite_id,
- 'overridesuite': overridesuite.suite_id
+ 'overridesuite': overridesuite.suite_id,
'arch_all': get_architecture('all', self.session).arch_id,
'arch': self.architecture.arch_id,
'type_id': self.overridetype.overridetype_id,
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