https://github.com/python/cpython/commit/09d6bf20b67f4d3001afac9d20886a6e9cbcc94f
commit: 09d6bf20b67f4d3001afac9d20886a6e9cbcc94f
branch: main
author: Stan Ulbrych <[email protected]>
committer: pablogsal <[email protected]>
date: 2025-12-09T17:45:52Z
summary:

Tachyon: Fix unesecarry plural when there is a single file/sample (#142478)

files:
M Lib/profiling/sampling/heatmap_collector.py

diff --git a/Lib/profiling/sampling/heatmap_collector.py 
b/Lib/profiling/sampling/heatmap_collector.py
index e1454f0663a439..f705fbe3a32eb9 100644
--- a/Lib/profiling/sampling/heatmap_collector.py
+++ b/Lib/profiling/sampling/heatmap_collector.py
@@ -335,12 +335,14 @@ def render_hierarchical_html(self, trees: Dict[str, 
TreeNode]) -> str:
             icon = '▶' if is_collapsed else '▼'
             content_style = ' style="display: none;"' if is_collapsed else ''
 
+            file_word = "file" if tree.count == 1 else "files"
+            sample_word = "sample" if tree.samples == 1 else "samples"
             section_html = f'''
 <div class="type-section">
   <div class="type-header" onclick="toggleTypeSection(this)">
     <span class="type-icon">{icon}</span>
     <span class="type-title">{type_names[module_type]}</span>
-    <span class="type-stats">({tree.count} files, {tree.samples:,} 
samples)</span>
+    <span class="type-stats">({tree.count} {file_word}, {tree.samples:,} 
{sample_word})</span>
   </div>
   <div class="type-content"{content_style}>
 '''
@@ -380,11 +382,14 @@ def _render_folder(self, node: TreeNode, name: str, 
level: int = 1) -> str:
         parts = []
 
         # Render folder header (collapsed by default)
+        file_word = "file" if node.count == 1 else "files"
+        sample_word = "sample" if node.samples == 1 else "samples"
         parts.append(f'{indent}<div class="folder-node collapsed" 
data-level="{level}">')
         parts.append(f'{indent}  <div class="folder-header" 
onclick="toggleFolder(this)">')
         parts.append(f'{indent}    <span class="folder-icon">▶</span>')
         parts.append(f'{indent}    <span class="folder-name">📁 
{html.escape(name)}</span>')
-        parts.append(f'{indent}    <span class="folder-stats">({node.count} 
files, {node.samples:,} samples)</span>')
+        parts.append(f'{indent}    <span class="folder-stats">'
+                     f'({node.count} {file_word}, {node.samples:,} 
{sample_word})</span>')
         parts.append(f'{indent}  </div>')
         parts.append(f'{indent}  <div class="folder-content" style="display: 
none;">')
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to