diff --git a/3.8/report.js b/3.8/report.js index 3b45ed83..db1a37e5 100644 --- a/3.8/report.js +++ b/3.8/report.js @@ -138,3 +138,35 @@ function toggle(theClass) { location.hash = "#show=" + on.join(","); } +function setPackagesVisible(){ + var i,j; + + var urlstring = window.location.href + var url = new URL(urlstring); + var pkgstring = url.searchParams.get("packages"); + + // Skip if no packages are selected + if (pkgstring == null || pkgstring == "" || pkgstring == "/") { + return; + } + + // At the beginning of the summary report html is some strange code + // to always add a trailling slash. Remove it from parameter + pkgstring = pkgstring.replace(/\/+$/, ""); + var pkgs = pkgstring.split(","); + + // Hide all packages + var trs = document.querySelectorAll('html>body>table>tbody>tr'); + for (i = 0; i < trs.length; ++i) { + trs[i].style.display = "none"; + } + + // Only show selected ones + for (j in pkgs) { + var pkgselector = "[data-pkg=" + pkgs[j] + "]"; + var trs = document.querySelectorAll(pkgselector); + for (i = 0; i < trs.length; ++i) { + trs[i].style.display = "table-row"; + } + } +} diff --git a/BBS-report.py b/BBS-report.py index 9ae17df2..5d898fa7 100755 --- a/BBS-report.py +++ b/BBS-report.py @@ -413,7 +413,7 @@ def write_pkg_allstatuses_asfullTRs(out, pkg, pkg_pos, nb_pkgs, leafreport_ref): classes = "odd" statuses = BBSreportutils.get_distinct_statuses_from_db(pkg) classes += statuses2classes(statuses) - out.write('' % classes) + out.write('' % (classes, pkg)) out.write('Package %d/%d' % (pkg_pos, nb_pkgs)) out.write('Hostname') out.write('OS / Arch') @@ -426,7 +426,7 @@ def write_pkg_allstatuses_asfullTRs(out, pkg, pkg_pos, nb_pkgs, leafreport_ref): nb_nodes = len(BBSreportutils.NODES) is_first = True for node in BBSreportutils.NODES: - out.write('' % classes) + out.write(' data-pkg="%s"' % (classes, pkg)) if is_first: pkgname_html = pkgname_to_HTML(pkg) version = BBSreportutils.get_pkg_field_from_meat_index(pkg, 'Version') @@ -612,6 +612,8 @@ def write_HTML_header(out, page_title=None, css_file=None, js_file=None): out.write('\n') out.write('\n') title = BBSreportutils.report_title