X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=c290b60f84a8f0c9f789c72c3843e7af58db516f;hb=60317b0fd991245512ef42547b5876faf4d129a0;hp=8b25d258d93958332882dd0a302e1dbe0295b276;hpb=7ac86fd08be17426d3d80851dd52c7447e95643a;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 8b25d258..c290b60f 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -168,7 +168,7 @@ class DBConn(Singleton): @return: the database id for the given suite """ - return self.__get_id('id', 'suite', 'suite_name', suite) + return int(self.__get_id('id', 'suite', 'suite_name', suite)) def get_section_id(self, section): """ @@ -546,23 +546,28 @@ class DBConn(Singleton): c.execute("BEGIN WORK") try: + arch_id = self.get_architecture_id(package['Architecture']) # Remove any already existing recorded files for this package c.execute("""DELETE FROM pending_content_associations WHERE package=%(Package)s - AND version=%(Version)s""", package ) + AND version=%(Version)s + AND arch_id=%d""" % arch_id, package ) for fullpath in fullpaths: (path, file) = os.path.split(fullpath) + if path.startswith( "./" ): + path = path[2:] # Get the necessary IDs ... file_id = self.get_or_set_contents_file_id(file) path_id = self.get_or_set_contents_path_id(path) c.execute("""INSERT INTO pending_content_associations - (package, version, filepath, filename) - VALUES (%%(Package)s, %%(Version)s, '%d', '%d')""" % (path_id, file_id), - package ) + (package, version, architecture, filepath, filename) + VALUES (%%(Package)s, %%(Version)s, '%d', '%d', '%d')""" + % (arch_id, path_id, file_id), package ) + c.execute("COMMIT") return True except: