Mercurial > hgrepos > Python > libs > ConfigMix
changeset 784:16f040434598
Move IAMCustomSubstitutions from function level to module level
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 16 May 2026 22:27:13 +0200 |
| parents | 8151ac02f71d |
| children | 42f7caa89253 |
| files | docs/conf.py |
| diffstat | 1 files changed, 29 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/conf.py Sat May 16 21:58:06 2026 +0200 +++ b/docs/conf.py Sat May 16 22:27:13 2026 +0200 @@ -255,6 +255,34 @@ autoclass_content = 'both' +class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): + + """Implement custom variable substitutions""" + + default_priority = sphinx.transforms.DefaultSubstitutions.default_priority + + _SUBSTITUTIONS = { + "release_date": release_date, + "release_rev": release_rev + } + if define_rest_keywords: + _SUBSTITUTIONS.update( + {"VCSJustDate": release_date, + "VCSRevision": release_rev, + "VCSHGRevision": release_rev}) + + def apply(self): + from docutils import nodes + for ref in self.document.traverse(nodes.substitution_reference): + refname = ref['refname'] + if refname in self._SUBSTITUTIONS: + stext = self._SUBSTITUTIONS[refname] + ref.replace_self(nodes.Text(stext, stext)) + #if refname in ('release_date' 'release_rev'): + # stext = self.config[refname] + # ref.replace_self(nodes.Text(stext, stext)) + + def setup(app): logger = sphinx.util.logging.getLogger("conf-setup") logger.info("Release: %s", release) @@ -267,30 +295,5 @@ # app.add_config_value('release_date', '', 'env') app.add_config_value('release_rev', '', 'env') - - class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): - - default_priority = sphinx.transforms.DefaultSubstitutions.default_priority - - SUBSTITUTIONS = { - "release_date": release_date, - "release_rev": release_rev - } - if define_rest_keywords: - SUBSTITUTIONS.update( - {"VCSJustDate": release_date, - "VCSRevision": release_rev, - "VCSHGRevision": release_rev}) - - def apply(self): - from docutils import nodes - for ref in self.document.traverse(nodes.substitution_reference): - refname = ref['refname'] - if refname in self.SUBSTITUTIONS: - stext = self.SUBSTITUTIONS[refname] - ref.replace_self(nodes.Text(stext, stext)) - #if refname in ('release_date' 'release_rev'): - # stext = self.config[refname] - # ref.replace_self(nodes.Text(stext, stext)) - + # Custom variable substitution app.add_transform(IAMCustomSubstitutions)
