Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/cygwin-apps/calm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2024-01-03 22:33:24 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2024-01-04 19:46:15 +0300
commit72a36434339e74676904906db287e720a0b75a0d (patch)
tree0d2db239ce7ae87e1b0d04a62670c250c998c765
parent31fbf0ae13b2faba1df22385862eabb2a4947eb6 (diff)
Add rdepends and build_rdepends to package summary
Use the HTML <details> widget to avoid showing large lists by default.
-rwxr-xr-xcalm/pkg2html.py27
-rw-r--r--test/testdata/htdocs.expected/summary/base-cygwin.html1
-rw-r--r--test/testdata/htdocs.expected/summary/cygwin-debuginfo.html1
-rw-r--r--test/testdata/htdocs.expected/summary/cygwin-devel.html1
-rw-r--r--test/testdata/htdocs.expected/summary/cygwin.html1
-rw-r--r--test/testdata/htdocs.expected/summary/libdns_sd1.html1
-rw-r--r--test/testdata/htdocs.expected/summary/openssh.html1
-rw-r--r--test/testdata/htdocs.expected/summary/test-d.html1
-rw-r--r--test/testdata/htdocs.expected/summary/test-e.html1
9 files changed, 29 insertions, 6 deletions
diff --git a/calm/pkg2html.py b/calm/pkg2html.py
index 2d6930e..d44b40b 100755
--- a/calm/pkg2html.py
+++ b/calm/pkg2html.py
@@ -50,6 +50,7 @@ import string
import sys
import textwrap
import time
+from typing import NamedTuple
import xtarfile
@@ -210,12 +211,22 @@ def update_package_listings(args, packages):
details_table['description'] = ldesc(po, bv)
details_table['categories'] = po.version_hints[bv].get('category', '')
+ class PackageData(NamedTuple):
+ is_attr: bool = False
+ summarize_limit: int = 0
+
if po.kind == package.Kind.source:
- details = ['build-depends']
+ details = {'build-depends': PackageData()}
else:
- details = ['depends', 'obsoletes', 'obsoleted_by', 'provides', 'conflicts']
-
- detail_is_attr = ['obsoleted_by']
+ details = {
+ 'depends': PackageData(),
+ 'obsoletes': PackageData(),
+ 'obsoleted_by': PackageData(is_attr=True),
+ 'provides': PackageData(),
+ 'conflicts': PackageData(),
+ 'rdepends': PackageData(is_attr=True, summarize_limit=10),
+ 'build_rdepends': PackageData(is_attr=True, summarize_limit=10)
+ }
for key in details:
# make the union of the package list for this detail
@@ -224,7 +235,7 @@ def update_package_listings(args, packages):
value = {}
values = set()
for arch in pos:
- if key in detail_is_attr:
+ if details[key].is_attr:
value[arch] = getattr(pos[arch], key, set())
else:
t = pos[arch].version_hints[pos[arch].best_version].get(key, None)
@@ -243,7 +254,11 @@ def update_package_listings(args, packages):
else:
detail.append(linkify_package(detail_pkg) + ' (%s)' % (','.join([arch for arch in pos if detail_pkg in value[arch]])))
- details_table[key] = ', '.join(detail)
+ limit = details[key].summarize_limit
+ if limit and len(detail) > limit:
+ details_table[key] = '<details><summary>(%s)</summary>%s</details>' % (len(detail), ', '.join(detail))
+ else:
+ details_table[key] = ', '.join(detail)
if po.kind == package.Kind.source:
es = p
diff --git a/test/testdata/htdocs.expected/summary/base-cygwin.html b/test/testdata/htdocs.expected/summary/base-cygwin.html
index de9b17e..4eceb2f 100644
--- a/test/testdata/htdocs.expected/summary/base-cygwin.html
+++ b/test/testdata/htdocs.expected/summary/base-cygwin.html
@@ -15,6 +15,7 @@
<tr><td><p><span class="detail">description</span>:</p></td><td><p>Initial base installation helper script.</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Base</p></td></tr>
<tr><td><p><span class="detail">depends</span>:</p></td><td><p>cygwin-api0_291</p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="cygwin.html">cygwin</a>, <a href="per-version.html">per-version</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p>base-cygwin-src</p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Corinna Vinschen
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
index 3a32e97..9d017df 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
@@ -16,6 +16,7 @@
cygwin package with gdb.</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Debug</p></td></tr>
<tr><td><p><span class="detail">depends</span>:</p></td><td><p><a href="cygwin-debuginfo.html">cygwin-debuginfo</a></p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="cygwin-debuginfo.html">cygwin-debuginfo</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="cygwin-src.html">cygwin</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Corinna Vinschen, Yaakov Selkowitz
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/cygwin-devel.html b/test/testdata/htdocs.expected/summary/cygwin-devel.html
index e5ab745..c4e6b59 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-devel.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-devel.html
@@ -14,6 +14,7 @@
<tr><td><p><span class="detail">summary</span>:</p></td><td><p>Core development files</p></td></tr>
<tr><td><p><span class="detail">description</span>:</p></td><td><p>Core development files required to build Cygwin packages</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Devel</p></td></tr>
+<tr><td><p><span class="detail">build_rdepends</span>:</p></td><td><p><a href="test-e-src.html">test-e</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="cygwin-src.html">cygwin</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Corinna Vinschen, Yaakov Selkowitz
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/cygwin.html b/test/testdata/htdocs.expected/summary/cygwin.html
index ee7dfc5..fd9801b 100644
--- a/test/testdata/htdocs.expected/summary/cygwin.html
+++ b/test/testdata/htdocs.expected/summary/cygwin.html
@@ -15,6 +15,7 @@
<tr><td><p><span class="detail">description</span>:</p></td><td><p>The UNIX emulation engine</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Base</p></td></tr>
<tr><td><p><span class="detail">depends</span>:</p></td><td><p><a href="base-cygwin.html">base-cygwin</a></p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="per-version.html">per-version</a>, <a href="per-version-replacement-hint-only.html">per-version-replacement-hint-only</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="cygwin-src.html">cygwin</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Corinna Vinschen, Yaakov Selkowitz
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/libdns_sd1.html b/test/testdata/htdocs.expected/summary/libdns_sd1.html
index 782beac..d099261 100644
--- a/test/testdata/htdocs.expected/summary/libdns_sd1.html
+++ b/test/testdata/htdocs.expected/summary/libdns_sd1.html
@@ -16,6 +16,7 @@
automatic discovery of computers, devices, and services on IP networks using
industry standard IP protocols.</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Net</p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="libdns_sd-devel.html">libdns_sd-devel</a>, <a href="mDNSResponder.html">mDNSResponder</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="mDNSResponder-src.html">mDNSResponder</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Yaakov Selkowitz
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/openssh.html b/test/testdata/htdocs.expected/summary/openssh.html
index a78ffc3..a97c3ca 100644
--- a/test/testdata/htdocs.expected/summary/openssh.html
+++ b/test/testdata/htdocs.expected/summary/openssh.html
@@ -16,6 +16,7 @@
executing commands on a remote machine. It can replace rlogin and rsh,
providing encrypted communication between two machines.</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Net</p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="keychain.html">keychain</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="openssh-src.html">openssh</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Corinna Vinschen
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/test-d.html b/test/testdata/htdocs.expected/summary/test-d.html
index e993c1e..90ccc9e 100644
--- a/test/testdata/htdocs.expected/summary/test-d.html
+++ b/test/testdata/htdocs.expected/summary/test-d.html
@@ -14,6 +14,7 @@
<tr><td><p><span class="detail">summary</span>:</p></td><td><p>test package D</p></td></tr>
<tr><td><p><span class="detail">description</span>:</p></td><td><p>test package D</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Devel</p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="test-c.html">test-c</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="test-d-src.html">test-d</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>ORPHANED
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.
diff --git a/test/testdata/htdocs.expected/summary/test-e.html b/test/testdata/htdocs.expected/summary/test-e.html
index ab0a890..4d742f8 100644
--- a/test/testdata/htdocs.expected/summary/test-e.html
+++ b/test/testdata/htdocs.expected/summary/test-e.html
@@ -14,6 +14,7 @@
<tr><td><p><span class="detail">summary</span>:</p></td><td><p>test package E</p></td></tr>
<tr><td><p><span class="detail">description</span>:</p></td><td><p>test package E</p></td></tr>
<tr><td><p><span class="detail">categories</span>:</p></td><td><p>Devel</p></td></tr>
+<tr><td><p><span class="detail">rdepends</span>:</p></td><td><p><a href="test-c.html">test-c</a></p></td></tr>
<tr><td><p><span class="detail">source package</span>:</p></td><td><p><a href="test-e-src.html">test-e</a></p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>ORPHANED
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a> to report bugs or ask questions.