Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes
@ 2022-08-06 21:56 Thomas Petazzoni via buildroot
  2022-08-06 21:56 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: remove remaining double quote escaping Thomas Petazzoni via buildroot
  2022-08-24 11:37 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-06 21:56 UTC (permalink / raw)
  To: buildroot; +Cc: Sen Hastings, Thomas Petazzoni

Within single-quoted f-strings, and within triple double quoted
strings, escaping all the double quotes is completely useless and
makes the code more difficult to read. Get rid of all this useless
escaping.

The renderer HTML is exactly identical before/after this commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 support/scripts/pkg-stats | 100 +++++++++++++++++++-------------------
 1 file changed, 50 insertions(+), 50 deletions(-)

diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index d32abd7225..572757b7ea 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -886,7 +886,7 @@ function expandField(fieldId){
 
 <body>
 
-<a href=\"#results\">Results</a><br/>
+<a href="#results">Results</a><br/>
 
 """  # noqa - tabs and spaces
 
@@ -920,8 +920,8 @@ def boolean_str(b):
 
 def dump_html_pkg(f, pkg):
     pkg_css_class = pkg.path.replace("/", "_")[:-3]
-    f.write(f'<div id=\"package__{pkg_css_class}\" \
-        class=\"package data _{pkg_css_class}\">{pkg.path}</div>\n')
+    f.write(f'<div id="package__{pkg_css_class}" \
+        class="package data _{pkg_css_class}">{pkg.path}</div>\n')
     # Patch count
     data_field_id = f'patch_count__{pkg_css_class}'
     div_class = ["centered patch_count data"]
@@ -932,8 +932,8 @@ def dump_html_pkg(f, pkg):
         div_class.append("somepatches")
     else:
         div_class.append("lotsofpatches")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
-        \">{str(pkg.patch_count)}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
+        ">{str(pkg.patch_count)}</div>\n')
 
     # Infrastructure
     data_field_id = f'infrastructure__{pkg_css_class}'
@@ -944,8 +944,8 @@ def dump_html_pkg(f, pkg):
         div_class.append("wrong")
     else:
         div_class.append("correct")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
-        \">{infra_str(pkg.infras)}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
+        ">{infra_str(pkg.infras)}</div>\n')
 
     # License
     data_field_id = f'license__{pkg_css_class}'
@@ -955,8 +955,8 @@ def dump_html_pkg(f, pkg):
         div_class.append("correct")
     else:
         div_class.append("wrong")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
-        \">{boolean_str(pkg.is_status_ok("license"))}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
+        ">{boolean_str(pkg.is_status_ok("license"))}</div>\n')
 
     # License files
     data_field_id = f'license_files__{pkg_css_class}'
@@ -966,8 +966,8 @@ def dump_html_pkg(f, pkg):
         div_class.append("correct")
     else:
         div_class.append("wrong")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
-        \">{boolean_str(pkg.is_status_ok("license-files"))}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
+        ">{boolean_str(pkg.is_status_ok("license-files"))}</div>\n')
 
     # Hash
     data_field_id = f'hash_file__{pkg_css_class}'
@@ -977,8 +977,8 @@ def dump_html_pkg(f, pkg):
         div_class.append("correct")
     else:
         div_class.append("wrong")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
-        \">{boolean_str(pkg.is_status_ok("hash"))}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
+        ">{boolean_str(pkg.is_status_ok("hash"))}</div>\n')
 
     # Current version
     data_field_id = f'current_version__{pkg_css_class}'
@@ -986,8 +986,8 @@ def dump_html_pkg(f, pkg):
         current_version = pkg.current_version[:20] + "..."
     else:
         current_version = pkg.current_version
-    f.write(f'  <div id=\"{data_field_id}\" \
-        class=\"centered current_version data _{pkg_css_class}\">{current_version}</div>\n')
+    f.write(f'  <div id="{data_field_id}" \
+        class="centered current_version data _{pkg_css_class}">{current_version}</div>\n')
 
     # Latest version
     data_field_id = f'latest_version__{pkg_css_class}'
@@ -1020,7 +1020,7 @@ def dump_html_pkg(f, pkg):
         else:
             latest_version_text += "found by guess"
 
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{latest_version_text}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{latest_version_text}</div>\n')
 
     # Warnings
     data_field_id = f'warnings__{pkg_css_class}'
@@ -1030,7 +1030,7 @@ def dump_html_pkg(f, pkg):
         div_class.append("correct")
     else:
         div_class.append("wrong")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{pkg.warnings}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{pkg.warnings}</div>\n')
 
     # URL status
     data_field_id = f'upstream_url__{pkg_css_class}'
@@ -1045,7 +1045,7 @@ def dump_html_pkg(f, pkg):
     else:
         div_class.append("good_url")
         url_str = "<a href=\"%s\">Link</a>" % pkg.url
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{url_str}</div>\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{url_str}</div>\n')
 
     # CVEs
     data_field_id = f'cves__{pkg_css_class}'
@@ -1061,11 +1061,11 @@ def dump_html_pkg(f, pkg):
         div_class.append("cve-ok")
     else:
         div_class.append("cve-unknown")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
     if len(pkg.cves) > 10:
         cve_total = len(pkg.cves) + 1
-        f.write(f' <div onclick=\"expandField(\'{data_field_id}\')\" \
-        class=\"see-more centered cve_ignored\">see all ({cve_total}) &#9662;</div>\n')
+        f.write(f' <div onclick="expandField(\'{data_field_id}\')" \
+        class="see-more centered cve_ignored">see all ({cve_total}) &#9662;</div>\n')
     if pkg.is_status_error("cve"):
         for cve in pkg.cves:
             f.write("   <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (cve, cve))
@@ -1083,7 +1083,7 @@ def dump_html_pkg(f, pkg):
     div_class.append(f'_{pkg_css_class}')
     if pkg.ignored_cves:
         div_class.append("cve_ignored")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
     for ignored_cve in pkg.ignored_cves:
         f.write("    <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (ignored_cve, ignored_cve))
     f.write("  </div>\n")
@@ -1100,7 +1100,7 @@ def dump_html_pkg(f, pkg):
         div_class.append("cpe-ok")
     else:
         div_class.append("cpe-unknown")
-    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
+    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
     if pkg.cpeid:
         cpeid_begin = ":".join(pkg.cpeid.split(":")[0:4]) + ":"
         cpeid_formatted = pkg.cpeid.replace(cpeid_begin, cpeid_begin + "<wbr>")
@@ -1121,33 +1121,33 @@ def dump_html_pkg(f, pkg):
 
 def dump_html_all_pkgs(f, packages):
     f.write("""
-<div id=\"package-grid\">
-<div style="grid-column: 1;" onclick="sortGrid(this.id)" id=\"package\"
-     class=\"package data label\"><span>Package</span><span></span></div>
-<div style="grid-column: 2;" onclick="sortGrid(this.id)" id=\"patch_count\"
-     class=\"centered patch_count data label\"><span>Patch count</span><span></span></div>
-<div style="grid-column: 3;" onclick="sortGrid(this.id)" id=\"infrastructure\"
-     class=\"centered infrastructure data label\">Infrastructure<span></span></div>
-<div style="grid-column: 4;" onclick="sortGrid(this.id)" id=\"license\"
-     class=\"centered license data label\"><span>License</span><span></span></div>
-<div style="grid-column: 5;" onclick="sortGrid(this.id)" id=\"license_files\"
-     class=\"centered license_files data label\"><span>License files</span><span></span></div>
-<div style="grid-column: 6;" onclick="sortGrid(this.id)" id=\"hash_file\"
-     class=\"centered hash_file data label\"><span>Hash file</span><span></span></div>
-<div style="grid-column: 7;" onclick="sortGrid(this.id)" id=\"current_version\"
-     class=\"centered current_version data label\"><span>Current version</span><span></span></div>
-<div style="grid-column: 8;" onclick="sortGrid(this.id)" id=\"latest_version\"
-     class=\"centered latest_version data label\"><span>Latest version</span><span></span></div>
-<div style="grid-column: 9;" onclick="sortGrid(this.id)" id=\"warnings\"
-     class=\"centered warnings data label\"><span>Warnings</span><span></span></div>
-<div style="grid-column: 10;" onclick="sortGrid(this.id)" id=\"upstream_url\"
-     class=\"centered upstream_url data label\"><span>Upstream URL</span><span></span></div>
-<div style="grid-column: 11;" onclick="sortGrid(this.id)" id=\"cves\"
-     class=\"centered cves data label\"><span>CVEs</span><span></span></div>
-<div style="grid-column: 12;" onclick="sortGrid(this.id)" id=\"ignored_cves\"
-     class=\"centered ignored_cves data label\"><span>CVEs Ignored</span><span></span></div>
-<div style="grid-column: 13;" onclick="sortGrid(this.id)" id=\"cpe_id\"
-     class=\"centered cpe_id data label\"><span>CPE ID</span><span></span></div>
+<div id="package-grid">
+<div style="grid-column: 1;" onclick="sortGrid(this.id)" id="package"
+     class="package data label"><span>Package</span><span></span></div>
+<div style="grid-column: 2;" onclick="sortGrid(this.id)" id="patch_count"
+     class="centered patch_count data label"><span>Patch count</span><span></span></div>
+<div style="grid-column: 3;" onclick="sortGrid(this.id)" id="infrastructure"
+     class="centered infrastructure data label">Infrastructure<span></span></div>
+<div style="grid-column: 4;" onclick="sortGrid(this.id)" id="license"
+     class="centered license data label"><span>License</span><span></span></div>
+<div style="grid-column: 5;" onclick="sortGrid(this.id)" id="license_files"
+     class="centered license_files data label"><span>License files</span><span></span></div>
+<div style="grid-column: 6;" onclick="sortGrid(this.id)" id="hash_file"
+     class="centered hash_file data label"><span>Hash file</span><span></span></div>
+<div style="grid-column: 7;" onclick="sortGrid(this.id)" id="current_version"
+     class="centered current_version data label"><span>Current version</span><span></span></div>
+<div style="grid-column: 8;" onclick="sortGrid(this.id)" id="latest_version"
+     class="centered latest_version data label"><span>Latest version</span><span></span></div>
+<div style="grid-column: 9;" onclick="sortGrid(this.id)" id="warnings"
+     class="centered warnings data label"><span>Warnings</span><span></span></div>
+<div style="grid-column: 10;" onclick="sortGrid(this.id)" id="upstream_url"
+     class="centered upstream_url data label"><span>Upstream URL</span><span></span></div>
+<div style="grid-column: 11;" onclick="sortGrid(this.id)" id="cves"
+     class="centered cves data label"><span>CVEs</span><span></span></div>
+<div style="grid-column: 12;" onclick="sortGrid(this.id)" id="ignored_cves"
+     class="centered ignored_cves data label"><span>CVEs Ignored</span><span></span></div>
+<div style="grid-column: 13;" onclick="sortGrid(this.id)" id="cpe_id"
+     class="centered cpe_id data label"><span>CPE ID</span><span></span></div>
 """)
     for pkg in sorted(packages):
         dump_html_pkg(f, pkg)
-- 
2.37.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: remove remaining double quote escaping
  2022-08-06 21:56 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
@ 2022-08-06 21:56 ` Thomas Petazzoni via buildroot
  2022-08-24 11:37 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-06 21:56 UTC (permalink / raw)
  To: buildroot; +Cc: Sen Hastings, Thomas Petazzoni

This is done either by switching to single quoted f-strings, triple
double quoted f-strings when needed, or simply single-quoted strings.

The renderer HTML is exactly identical before/after this commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 support/scripts/pkg-stats | 67 +++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 35 deletions(-)

diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index 572757b7ea..aa3b49c809 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -1010,13 +1010,12 @@ def dump_html_pkg(f, pkg):
         if pkg.latest_version['version'] is None:
             latest_version_text = "<b>Found, but no version</b>"
         else:
-            latest_version_text = "<a href=\"https://release-monitoring.org/project/%s\"><b>%s</b></a>" % \
-                (pkg.latest_version['id'], str(pkg.latest_version['version']))
+            latest_version_text = f"""<a href="https://release-monitoring.org/project/{pkg.latest_version['id']}"><b>{str(pkg.latest_version['version'])}</b></a>"""
 
         latest_version_text += "<br/>"
 
         if pkg.latest_version['status'] == RM_API_STATUS_FOUND_BY_DISTRO:
-            latest_version_text += "found by <a href=\"https://release-monitoring.org/distro/Buildroot/\">distro</a>"
+            latest_version_text += f'found by <a href="https://release-monitoring.org/distro/Buildroot/">distro</a>'
         else:
             latest_version_text += "found by guess"
 
@@ -1041,10 +1040,10 @@ def dump_html_pkg(f, pkg):
         div_class.append("missing_url")
     if pkg.status['url'][0] == "error":
         div_class.append("invalid_url")
-        url_str = "<a href=\"%s\">%s</a>" % (pkg.url, pkg.status['url'][1])
+        url_str = f"""<a href="{pkg.url}">{pkg.status['url'][1]}</a>"""
     else:
         div_class.append("good_url")
-        url_str = "<a href=\"%s\">Link</a>" % pkg.url
+        url_str = f'<a href="{pkg.url}">Link</a>'
     f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{url_str}</div>\n')
 
     # CVEs
@@ -1068,11 +1067,11 @@ def dump_html_pkg(f, pkg):
         class="see-more centered cve_ignored">see all ({cve_total}) &#9662;</div>\n')
     if pkg.is_status_error("cve"):
         for cve in pkg.cves:
-            f.write("   <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (cve, cve))
+            f.write(f'   <a href="https://security-tracker.debian.org/tracker/{cve}">{cve}</a><br/>\n')
         for cve in pkg.unsure_cves:
-            f.write("   <a href=\"https://security-tracker.debian.org/tracker/%s\">%s <i>(unsure)</i></a><br/>\n" % (cve, cve))
+            f.write(f'   <a href="https://security-tracker.debian.org/tracker/{cve}">{cve} <i>(unsure)</i></a><br/>\n')
     elif pkg.is_status_na("cve"):
-        f.write("    %s" % pkg.status['cve'][1])
+        f.write(f"""    {pkg.status['cve'][1]}""")
     else:
         f.write("    N/A\n")
     f.write("  </div>\n")
@@ -1085,7 +1084,7 @@ def dump_html_pkg(f, pkg):
         div_class.append("cve_ignored")
     f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
     for ignored_cve in pkg.ignored_cves:
-        f.write("    <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (ignored_cve, ignored_cve))
+        f.write(f'    <a href="https://security-tracker.debian.org/tracker/{ignored_cve}">{ignored_cve}</a><br/>\n')
     f.write("  </div>\n")
 
     # CPE ID
@@ -1108,11 +1107,9 @@ def dump_html_pkg(f, pkg):
     if not pkg.is_status_ok("cpe"):
         if pkg.is_actual_package and pkg.current_version:
             if pkg.cpeid:
-                f.write("  <br/>%s <a href=\"https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=%s\">(Search)</a>\n" %  # noqa: E501
-                        (pkg.status['cpe'][1], ":".join(pkg.cpeid.split(":")[0:5])))
+                f.write(f"""  <br/>{pkg.status['cpe'][1]} <a href="https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword={":".join(pkg.cpeid.split(":")[0:5])}">(Search)</a>\n""") # noqa: E501
             else:
-                f.write("  %s <a href=\"https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=%s\">(Search)</a>\n" %  # noqa: E501
-                        (pkg.status['cpe'][1], pkg.name))
+                f.write(f"""  {pkg.status['cpe'][1]} <a href="https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword={pkg.name}">(Search)</a>\n""")  # noqa: E501
         else:
             f.write("  %s\n" % pkg.status['cpe'][1])
 
@@ -1155,49 +1152,49 @@ def dump_html_all_pkgs(f, packages):
 
 
 def dump_html_stats(f, stats):
-    f.write("<a id=\"results\"></a>\n")
-    f.write("<div class=\"data\" id=\"results-grid\">\n")
+    f.write('<a id="results"></a>\n')
+    f.write('<div class="data" id="results-grid">\n')
     infras = [infra[6:] for infra in stats.keys() if infra.startswith("infra-")]
     for infra in infras:
-        f.write(" <div class=\"data\">Packages using the <i>%s</i> infrastructure</div><div class=\"data\">%s</div>\n" %
+        f.write(' <div class="data">Packages using the <i>%s</i> infrastructure</div><div class="data">%s</div>\n' %
                 (infra, stats["infra-%s" % infra]))
-    f.write(" <div class=\"data\">Packages having license information</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages having license information</div><div class="data">%s</div>\n' %
             stats["license"])
-    f.write(" <div class=\"data\">Packages not having license information</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages not having license information</div><div class="data">%s</div>\n' %
             stats["no-license"])
-    f.write(" <div class=\"data\">Packages having license files information</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages having license files information</div><div class="data">%s</div>\n' %
             stats["license-files"])
-    f.write(" <div class=\"data\">Packages not having license files information</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages not having license files information</div><div class="data">%s</div>\n' %
             stats["no-license-files"])
-    f.write(" <div class=\"data\">Packages having a hash file</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages having a hash file</div><div class="data">%s</div>\n' %
             stats["hash"])
-    f.write(" <div class=\"data\">Packages not having a hash file</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Packages not having a hash file</div><div class="data">%s</div>\n' %
             stats["no-hash"])
-    f.write(" <div class=\"data\">Total number of patches</div><div class=\"data\">%s</div>\n" %
+    f.write(' <div class="data">Total number of patches</div><div class="data">%s</div>\n' %
             stats["patches"])
-    f.write("<div class=\"data\">Packages having a mapping on <i>release-monitoring.org</i></div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages having a mapping on <i>release-monitoring.org</i></div><div class="data">%s</div>\n' %
             stats["rmo-mapping"])
-    f.write("<div class=\"data\">Packages lacking a mapping on <i>release-monitoring.org</i></div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages lacking a mapping on <i>release-monitoring.org</i></div><div class="data">%s</div>\n' %
             stats["rmo-no-mapping"])
-    f.write("<div class=\"data\">Packages that are up-to-date</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages that are up-to-date</div><div class="data">%s</div>\n' %
             stats["version-uptodate"])
-    f.write("<div class=\"data\">Packages that are not up-to-date</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages that are not up-to-date</div><div class="data">%s</div>\n' %
             stats["version-not-uptodate"])
-    f.write("<div class=\"data\">Packages with no known upstream version</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages with no known upstream version</div><div class="data">%s</div>\n' %
             stats["version-unknown"])
-    f.write("<div class=\"data\">Packages affected by CVEs</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages affected by CVEs</div><div class="data">%s</div>\n' %
             stats["pkg-cves"])
-    f.write("<div class=\"data\">Total number of CVEs affecting all packages</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Total number of CVEs affecting all packages</div><div class="data">%s</div>\n' %
             stats["total-cves"])
-    f.write("<div class=\"data\">Packages affected by unsure CVEs</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages affected by unsure CVEs</div><div class="data">%s</div>\n' %
             stats["pkg-unsure-cves"])
-    f.write("<div class=\"data\">Total number of unsure CVEs affecting all packages</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Total number of unsure CVEs affecting all packages</div><div class="data">%s</div>\n' %
             stats["total-unsure-cves"])
-    f.write("<div class=\"data\">Packages with CPE ID</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages with CPE ID</div><div class="data">%s</div>\n' %
             stats["cpe-id"])
-    f.write("<div class=\"data\">Packages without CPE ID</div><div class=\"data\">%s</div>\n" %
+    f.write('<div class="data">Packages without CPE ID</div><div class="data">%s</div>\n' %
             stats["no-cpe-id"])
-    f.write("</div>\n")
+    f.write('</div>\n')
 
 
 def dump_html_gen_info(f, date, commit):
-- 
2.37.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes
@ 2022-08-18 22:36 Sen Hastings
  0 siblings, 0 replies; 4+ messages in thread
From: Sen Hastings @ 2022-08-18 22:36 UTC (permalink / raw)
  To: buildroot; +Cc: Sen Hastings, Thomas Petazzoni

On 8/6/22 16:56, Thomas Petazzoni wrote:
> Within single-quoted f-strings, and within triple double quoted
> strings, escaping all the double quotes is completely useless and
> makes the code more difficult to read. Get rid of all this useless
> escaping.
> 
> The renderer HTML is exactly identical before/after this commit.

Sorry for getting to this so late, I didn't realize for some reason
this was a patch. Looks all good.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-By: Sen Hastings <sen@phobosdpl.com>
Acked-By: Sen Hastings <sen@phobosdpl.com>
> ---
>  support/scripts/pkg-stats | 100 +++++++++++++++++++-------------------
>  1 file changed, 50 insertions(+), 50 deletions(-)
> 
> diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
> index d32abd7225..572757b7ea 100755
> --- a/support/scripts/pkg-stats
> +++ b/support/scripts/pkg-stats
> @@ -886,7 +886,7 @@ function expandField(fieldId){
>  
>  <body>
>  
> -<a href=\"#results\">Results</a><br/>
> +<a href="#results">Results</a><br/>
>  
>  """  # noqa - tabs and spaces
>  
> @@ -920,8 +920,8 @@ def boolean_str(b):
>  
>  def dump_html_pkg(f, pkg):
>      pkg_css_class = pkg.path.replace("/", "_")[:-3]
> -    f.write(f'<div id=\"package__{pkg_css_class}\" \
> -        class=\"package data _{pkg_css_class}\">{pkg.path}</div>\n')
> +    f.write(f'<div id="package__{pkg_css_class}" \
> +        class="package data _{pkg_css_class}">{pkg.path}</div>\n')
>      # Patch count
>      data_field_id = f'patch_count__{pkg_css_class}'
>      div_class = ["centered patch_count data"]
> @@ -932,8 +932,8 @@ def dump_html_pkg(f, pkg):
>          div_class.append("somepatches")
>      else:
>          div_class.append("lotsofpatches")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
> -        \">{str(pkg.patch_count)}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
> +        ">{str(pkg.patch_count)}</div>\n')
>  
>      # Infrastructure
>      data_field_id = f'infrastructure__{pkg_css_class}'
> @@ -944,8 +944,8 @@ def dump_html_pkg(f, pkg):
>          div_class.append("wrong")
>      else:
>          div_class.append("correct")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
> -        \">{infra_str(pkg.infras)}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
> +        ">{infra_str(pkg.infras)}</div>\n')
>  
>      # License
>      data_field_id = f'license__{pkg_css_class}'
> @@ -955,8 +955,8 @@ def dump_html_pkg(f, pkg):
>          div_class.append("correct")
>      else:
>          div_class.append("wrong")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
> -        \">{boolean_str(pkg.is_status_ok("license"))}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
> +        ">{boolean_str(pkg.is_status_ok("license"))}</div>\n')
>  
>      # License files
>      data_field_id = f'license_files__{pkg_css_class}'
> @@ -966,8 +966,8 @@ def dump_html_pkg(f, pkg):
>          div_class.append("correct")
>      else:
>          div_class.append("wrong")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
> -        \">{boolean_str(pkg.is_status_ok("license-files"))}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
> +        ">{boolean_str(pkg.is_status_ok("license-files"))}</div>\n')
>  
>      # Hash
>      data_field_id = f'hash_file__{pkg_css_class}'
> @@ -977,8 +977,8 @@ def dump_html_pkg(f, pkg):
>          div_class.append("correct")
>      else:
>          div_class.append("wrong")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)} \
> -        \">{boolean_str(pkg.is_status_ok("hash"))}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)} \
> +        ">{boolean_str(pkg.is_status_ok("hash"))}</div>\n')
>  
>      # Current version
>      data_field_id = f'current_version__{pkg_css_class}'
> @@ -986,8 +986,8 @@ def dump_html_pkg(f, pkg):
>          current_version = pkg.current_version[:20] + "..."
>      else:
>          current_version = pkg.current_version
> -    f.write(f'  <div id=\"{data_field_id}\" \
> -        class=\"centered current_version data _{pkg_css_class}\">{current_version}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" \
> +        class="centered current_version data _{pkg_css_class}">{current_version}</div>\n')
>  
>      # Latest version
>      data_field_id = f'latest_version__{pkg_css_class}'
> @@ -1020,7 +1020,7 @@ def dump_html_pkg(f, pkg):
>          else:
>              latest_version_text += "found by guess"
>  
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{latest_version_text}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{latest_version_text}</div>\n')
>  
>      # Warnings
>      data_field_id = f'warnings__{pkg_css_class}'
> @@ -1030,7 +1030,7 @@ def dump_html_pkg(f, pkg):
>          div_class.append("correct")
>      else:
>          div_class.append("wrong")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{pkg.warnings}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{pkg.warnings}</div>\n')
>  
>      # URL status
>      data_field_id = f'upstream_url__{pkg_css_class}'
> @@ -1045,7 +1045,7 @@ def dump_html_pkg(f, pkg):
>      else:
>          div_class.append("good_url")
>          url_str = "<a href=\"%s\">Link</a>" % pkg.url
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">{url_str}</div>\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">{url_str}</div>\n')
>  
>      # CVEs
>      data_field_id = f'cves__{pkg_css_class}'
> @@ -1061,11 +1061,11 @@ def dump_html_pkg(f, pkg):
>          div_class.append("cve-ok")
>      else:
>          div_class.append("cve-unknown")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
>      if len(pkg.cves) > 10:
>          cve_total = len(pkg.cves) + 1
> -        f.write(f' <div onclick=\"expandField(\'{data_field_id}\')\" \
> -        class=\"see-more centered cve_ignored\">see all ({cve_total}) &#9662;</div>\n')
> +        f.write(f' <div onclick="expandField(\'{data_field_id}\')" \
> +        class="see-more centered cve_ignored">see all ({cve_total}) &#9662;</div>\n')
>      if pkg.is_status_error("cve"):
>          for cve in pkg.cves:
>              f.write("   <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (cve, cve))
> @@ -1083,7 +1083,7 @@ def dump_html_pkg(f, pkg):
>      div_class.append(f'_{pkg_css_class}')
>      if pkg.ignored_cves:
>          div_class.append("cve_ignored")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
>      for ignored_cve in pkg.ignored_cves:
>          f.write("    <a href=\"https://security-tracker.debian.org/tracker/%s\">%s</a><br/>\n" % (ignored_cve, ignored_cve))
>      f.write("  </div>\n")
> @@ -1100,7 +1100,7 @@ def dump_html_pkg(f, pkg):
>          div_class.append("cpe-ok")
>      else:
>          div_class.append("cpe-unknown")
> -    f.write(f'  <div id=\"{data_field_id}\" class=\"{" ".join(div_class)}\">\n')
> +    f.write(f'  <div id="{data_field_id}" class="{" ".join(div_class)}">\n')
>      if pkg.cpeid:
>          cpeid_begin = ":".join(pkg.cpeid.split(":")[0:4]) + ":"
>          cpeid_formatted = pkg.cpeid.replace(cpeid_begin, cpeid_begin + "<wbr>")
> @@ -1121,33 +1121,33 @@ def dump_html_pkg(f, pkg):
>  
>  def dump_html_all_pkgs(f, packages):
>      f.write("""
> -<div id=\"package-grid\">
> -<div style="grid-column: 1;" onclick="sortGrid(this.id)" id=\"package\"
> -     class=\"package data label\"><span>Package</span><span></span></div>
> -<div style="grid-column: 2;" onclick="sortGrid(this.id)" id=\"patch_count\"
> -     class=\"centered patch_count data label\"><span>Patch count</span><span></span></div>
> -<div style="grid-column: 3;" onclick="sortGrid(this.id)" id=\"infrastructure\"
> -     class=\"centered infrastructure data label\">Infrastructure<span></span></div>
> -<div style="grid-column: 4;" onclick="sortGrid(this.id)" id=\"license\"
> -     class=\"centered license data label\"><span>License</span><span></span></div>
> -<div style="grid-column: 5;" onclick="sortGrid(this.id)" id=\"license_files\"
> -     class=\"centered license_files data label\"><span>License files</span><span></span></div>
> -<div style="grid-column: 6;" onclick="sortGrid(this.id)" id=\"hash_file\"
> -     class=\"centered hash_file data label\"><span>Hash file</span><span></span></div>
> -<div style="grid-column: 7;" onclick="sortGrid(this.id)" id=\"current_version\"
> -     class=\"centered current_version data label\"><span>Current version</span><span></span></div>
> -<div style="grid-column: 8;" onclick="sortGrid(this.id)" id=\"latest_version\"
> -     class=\"centered latest_version data label\"><span>Latest version</span><span></span></div>
> -<div style="grid-column: 9;" onclick="sortGrid(this.id)" id=\"warnings\"
> -     class=\"centered warnings data label\"><span>Warnings</span><span></span></div>
> -<div style="grid-column: 10;" onclick="sortGrid(this.id)" id=\"upstream_url\"
> -     class=\"centered upstream_url data label\"><span>Upstream URL</span><span></span></div>
> -<div style="grid-column: 11;" onclick="sortGrid(this.id)" id=\"cves\"
> -     class=\"centered cves data label\"><span>CVEs</span><span></span></div>
> -<div style="grid-column: 12;" onclick="sortGrid(this.id)" id=\"ignored_cves\"
> -     class=\"centered ignored_cves data label\"><span>CVEs Ignored</span><span></span></div>
> -<div style="grid-column: 13;" onclick="sortGrid(this.id)" id=\"cpe_id\"
> -     class=\"centered cpe_id data label\"><span>CPE ID</span><span></span></div>
> +<div id="package-grid">
> +<div style="grid-column: 1;" onclick="sortGrid(this.id)" id="package"
> +     class="package data label"><span>Package</span><span></span></div>
> +<div style="grid-column: 2;" onclick="sortGrid(this.id)" id="patch_count"
> +     class="centered patch_count data label"><span>Patch count</span><span></span></div>
> +<div style="grid-column: 3;" onclick="sortGrid(this.id)" id="infrastructure"
> +     class="centered infrastructure data label">Infrastructure<span></span></div>
> +<div style="grid-column: 4;" onclick="sortGrid(this.id)" id="license"
> +     class="centered license data label"><span>License</span><span></span></div>
> +<div style="grid-column: 5;" onclick="sortGrid(this.id)" id="license_files"
> +     class="centered license_files data label"><span>License files</span><span></span></div>
> +<div style="grid-column: 6;" onclick="sortGrid(this.id)" id="hash_file"
> +     class="centered hash_file data label"><span>Hash file</span><span></span></div>
> +<div style="grid-column: 7;" onclick="sortGrid(this.id)" id="current_version"
> +     class="centered current_version data label"><span>Current version</span><span></span></div>
> +<div style="grid-column: 8;" onclick="sortGrid(this.id)" id="latest_version"
> +     class="centered latest_version data label"><span>Latest version</span><span></span></div>
> +<div style="grid-column: 9;" onclick="sortGrid(this.id)" id="warnings"
> +     class="centered warnings data label"><span>Warnings</span><span></span></div>
> +<div style="grid-column: 10;" onclick="sortGrid(this.id)" id="upstream_url"
> +     class="centered upstream_url data label"><span>Upstream URL</span><span></span></div>
> +<div style="grid-column: 11;" onclick="sortGrid(this.id)" id="cves"
> +     class="centered cves data label"><span>CVEs</span><span></span></div>
> +<div style="grid-column: 12;" onclick="sortGrid(this.id)" id="ignored_cves"
> +     class="centered ignored_cves data label"><span>CVEs Ignored</span><span></span></div>
> +<div style="grid-column: 13;" onclick="sortGrid(this.id)" id="cpe_id"
> +     class="centered cpe_id data label"><span>CPE ID</span><span></span></div>
>  """)
>      for pkg in sorted(packages):
>          dump_html_pkg(f, pkg)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes
  2022-08-06 21:56 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
  2022-08-06 21:56 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: remove remaining double quote escaping Thomas Petazzoni via buildroot
@ 2022-08-24 11:37 ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-24 11:37 UTC (permalink / raw)
  To: Thomas Petazzoni via buildroot; +Cc: Sen Hastings, Thomas Petazzoni

On Sat,  6 Aug 2022 23:56:40 +0200
Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:

> Within single-quoted f-strings, and within triple double quoted
> strings, escaping all the double quotes is completely useless and
> makes the code more difficult to read. Get rid of all this useless
> escaping.
> 
> The renderer HTML is exactly identical before/after this commit.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  support/scripts/pkg-stats | 100 +++++++++++++++++++-------------------
>  1 file changed, 50 insertions(+), 50 deletions(-)

Both applied to next, thanks, with the Tested-by and Acked-by from Sen,
which for some reason did not appear as replies to the patches in the
list, causing patchwork to not pick them up (so I did that manually).

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-08-24 11:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-06 21:56 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
2022-08-06 21:56 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: remove remaining double quote escaping Thomas Petazzoni via buildroot
2022-08-24 11:37 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: remove useless escaping of double quotes Thomas Petazzoni via buildroot
  -- strict thread matches above, loose matches on Subject: below --
2022-08-18 22:36 Sen Hastings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox