X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fbinary.py;h=c6ee96f86d5f1eed8b210720697e1620e2448ead;hb=f0c875ddc69f384bf2600fa342fbac30dc82fda7;hp=4b6618ea6b34f9ac1984f6e6901a4487bad512a1;hpb=20fb9f02f5a8bb60a92d1d76d98916203c04ecbe;p=dak.git diff --git a/daklib/binary.py b/daklib/binary.py index 4b6618ea..c6ee96f8 100755 --- a/daklib/binary.py +++ b/daklib/binary.py @@ -72,6 +72,8 @@ class Binary(object): self.tmpdir = None self.chunks = None self.wrapped_reject = reject + # Store rejects for later use + self.rejects = [] def reject(self, message): """ @@ -79,6 +81,7 @@ class Binary(object): otherwise send it to stderr. """ print >> sys.stderr, message + self.rejects.append(message) if self.wrapped_reject: self.wrapped_reject(message) @@ -245,12 +248,16 @@ class Binary(object): except: print >> sys.stderr, "E: %s has non-unicode filename: %s" % (package,tarinfo.name) + result = True + except: traceback.print_exc() result = False os.chdir(cwd) + return result + __all__.append('Binary') def copy_temporary_contents(package, version, archname, deb, reject, session=None): @@ -261,14 +268,16 @@ def copy_temporary_contents(package, version, archname, deb, reject, session=Non contents stored in pending_content_associations """ - # first see if contents exist: cnf = Config() + privatetrans = False if session is None: session = DBConn().session() + privatetrans = True arch = get_architecture(archname, session=session) + # first see if contents exist: in_pcaq = """SELECT 1 FROM pending_content_associations WHERE package=:package AND version=:version @@ -278,7 +287,7 @@ def copy_temporary_contents(package, version, archname, deb, reject, session=Non 'version': version, 'archid': arch.arch_id} - exists = True + exists = None check = session.execute(in_pcaq, vals) if check.rowcount > 0: @@ -295,7 +304,8 @@ def copy_temporary_contents(package, version, archname, deb, reject, session=Non message = utils.TemplateSubst(subst, cnf["Dir::Templates"]+"/missing-contents") utils.send_mail(message) - exists = Binary(deb, reject).scan_package() + # Temporarily disable contents storage until we re-do the table layout + #exists = Binary(deb, reject).scan_package() if exists: sql = """INSERT INTO content_associations(binary_pkg,filepath,filename) @@ -306,6 +316,10 @@ def copy_temporary_contents(package, version, archname, deb, reject, session=Non sql = """DELETE from pending_content_associations WHERE package=:package AND version=:version AND architecture=:archid""" session.execute(sql, vals) + session.commit() + + if privatetrans: + session.close() return exists