X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdatabase.py;h=5c7bd8387240b328073b6641817afaa21aa8c768;hb=f8996e240d9d0278bce098e23be63db0bcc6fbee;hp=d9fdc850c745ac234004fc94c6b643e3cbddc661;hpb=a29878d1b68545cac92669617f94c81330ee4fc7;p=dak.git diff --git a/daklib/database.py b/daklib/database.py index d9fdc850..5c7bd838 100755 --- a/daklib/database.py +++ b/daklib/database.py @@ -41,7 +41,7 @@ maintainer_cache = {} fingerprint_id_cache = {} queue_id_cache = {} uid_id_cache = {} -testing_version_cache = {} +suite_version_cache = {} ################################################################################ @@ -224,25 +224,26 @@ def get_source_id (source, version): return source_id -def get_testing_version(source): - global testing_version_cache +def get_suite_version(source, suite): + global suite_version_cache + cache_key = "%s_%s" % (source, suite) - if testing_version_cache.has_key(source): - return testing_version_cache[source] + if suite_version_cache.has_key(cache_key): + return suite_version_cache[cache_key] q = projectB.query(""" SELECT s.version FROM source s, suite su, src_associations sa WHERE sa.source=s.id AND sa.suite=su.id - AND su.suite_name='testing' + AND su.suite_name='%s' AND s.source='%s'""" - % (source)) + % (suite, source)) if not q.getresult(): return None version = q.getresult()[0][0] - testing_version_cache[source] = version + suite_version_cache[cache_key] = version return version @@ -359,10 +360,10 @@ def get_or_set_queue_id (queue): ################################################################################ -def set_files_id (filename, size, md5sum, location_id): +def set_files_id (filename, size, md5sum, sha1sum, sha256sum, location_id): global files_id_cache - projectB.query("INSERT INTO files (filename, size, md5sum, location) VALUES ('%s', %d, '%s', %d)" % (filename, long(size), md5sum, location_id)) + projectB.query("INSERT INTO files (filename, size, md5sum, sha1sum, sha256sum, location) VALUES ('%s', %d, '%s', '%s', '%s', %d)" % (filename, long(size), md5sum, sha1sum, sha256sum, location_id)) return get_files_id (filename, size, md5sum, location_id) @@ -388,3 +389,11 @@ def get_maintainer (maintainer_id): return maintainer_cache[maintainer_id] ################################################################################ + +def get_suites(pkgname, src=False): + if src: + sql = "select suite_name from source, src_associations,suite where source.id=src_associations.source and source.source='%s' and src_associations.suite = suite.id"%pkgname + else: + sql = "select suite_name from binaries, bin_associations,suite where binaries.id=bin_associations.bin and package='%s' and bin_associations.suite = suite.id"%pkgname + q = projectB.query(sql) + return map(lambda x: x[0], q.getresult())