From 88ff5dd9b2e7f5b43f71ca65fdf03bbda512c59f Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Thu, 20 Feb 2020 17:03:03 +0100 Subject: [PATCH] Add support listing release of each version --- sphinx_multiversion/main.py | 1 + sphinx_multiversion/sphinx.py | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/sphinx_multiversion/main.py b/sphinx_multiversion/main.py index 67470fc..de7cf72 100644 --- a/sphinx_multiversion/main.py +++ b/sphinx_multiversion/main.py @@ -92,6 +92,7 @@ def main(argv=None): metadata[versionref.name] = { "name": versionref.name, "version": versionref.version, + "release": versionref.release, "source": versionref.source, "sourcedir": srcdir, "outputdir": outputdir, diff --git a/sphinx_multiversion/sphinx.py b/sphinx_multiversion/sphinx.py index d79bb3a..92712f8 100644 --- a/sphinx_multiversion/sphinx.py +++ b/sphinx_multiversion/sphinx.py @@ -14,7 +14,12 @@ DEFAULT_BRANCH_WHITELIST = r'^.*$' DEFAULT_REMOTE_WHITELIST = None DEFAULT_OUTPUTDIR_FORMAT = r'{version.version}/{language}' -Version = collections.namedtuple('Version', ['name', 'url', 'version']) +Version = collections.namedtuple('Version', [ + 'name', + 'url', + 'version', + 'release', +]) class VersionInfo: @@ -26,15 +31,23 @@ class VersionInfo: @property def tags(self): return [ - Version(v["name"], self.vpathto(v["name"]), v["version"]) - for v in self.metadata.values() if v["source"] == "tags" + Version( + name=v["name"], + url=self.vpathto(v["name"]), + version=v["version"], + release=v["release"], + ) for v in self.metadata.values() if v["source"] == "tags" ] @property def branches(self): return [ - Version(v["name"], self.vpathto(v["name"]), v["version"]) - for v in self.metadata.values() if v["source"] != "tags" + Version( + name=v["name"], + url=self.vpathto(v["name"]), + version=v["version"], + release=v["release"], + ) for v in self.metadata.values() if v["source"] != "tags" ] def __iter__(self):