+ if Options["Architecture"]:
+ arch_ids_list = [];
+ check_source = 0;
+ for architecture in string.split(Options["Architecture"]):
+ if architecture == "source":
+ check_source = 1;
+ architecture_id = db_access.get_architecture_id(architecture);
+ if architecture_id == -1:
+ utils.warn("architecture '%s' not recognised." % (architecture));
+ else:
+ arch_ids_list.append(architecture_id);
+ if arch_ids_list:
+ con_architectures = "AND a.id IN (%s)" % string.join(map(str, arch_ids_list), ", ");
+ else:
+ utils.fubar("No correct architecture given.");
+ else:
+ con_architectures = "";
+ check_source = 1;
+
+ if Options["Source-And-Binary"]:
+ new_packages = [];
+ for package in packages:
+ q = projectB.query("SELECT DISTINCT package FROM binaries WHERE EXISTS (SELECT s.source FROM source s WHERE binaries.source = s.id AND s.source = '%s')" % (package));
+ new_packages.extend(map(lambda x: x[0], q.getresult()));
+ new_packages.append(package);
+ packages = new_packages;
+
+ results = 0;