Mercurial > hgrepos > Python > libs > ConfigMix
comparison docs/conf.py @ 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 | 8ab718cbec22 |
comparison
equal
deleted
inserted
replaced
| 783:8151ac02f71d | 784:16f040434598 |
|---|---|
| 253 | 253 |
| 254 autodoc_member_order = 'bysource' | 254 autodoc_member_order = 'bysource' |
| 255 autoclass_content = 'both' | 255 autoclass_content = 'both' |
| 256 | 256 |
| 257 | 257 |
| 258 class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): | |
| 259 | |
| 260 """Implement custom variable substitutions""" | |
| 261 | |
| 262 default_priority = sphinx.transforms.DefaultSubstitutions.default_priority | |
| 263 | |
| 264 _SUBSTITUTIONS = { | |
| 265 "release_date": release_date, | |
| 266 "release_rev": release_rev | |
| 267 } | |
| 268 if define_rest_keywords: | |
| 269 _SUBSTITUTIONS.update( | |
| 270 {"VCSJustDate": release_date, | |
| 271 "VCSRevision": release_rev, | |
| 272 "VCSHGRevision": release_rev}) | |
| 273 | |
| 274 def apply(self): | |
| 275 from docutils import nodes | |
| 276 for ref in self.document.traverse(nodes.substitution_reference): | |
| 277 refname = ref['refname'] | |
| 278 if refname in self._SUBSTITUTIONS: | |
| 279 stext = self._SUBSTITUTIONS[refname] | |
| 280 ref.replace_self(nodes.Text(stext, stext)) | |
| 281 #if refname in ('release_date' 'release_rev'): | |
| 282 # stext = self.config[refname] | |
| 283 # ref.replace_self(nodes.Text(stext, stext)) | |
| 284 | |
| 285 | |
| 258 def setup(app): | 286 def setup(app): |
| 259 logger = sphinx.util.logging.getLogger("conf-setup") | 287 logger = sphinx.util.logging.getLogger("conf-setup") |
| 260 logger.info("Release: %s", release) | 288 logger.info("Release: %s", release) |
| 261 logger.info("Release Date: %s", release_date) | 289 logger.info("Release Date: %s", release_date) |
| 262 logger.info("Release Rev: %s", release_rev) | 290 logger.info("Release Rev: %s", release_rev) |
| 265 # Custom release_date variable with a custom substitution |release_date| | 293 # Custom release_date variable with a custom substitution |release_date| |
| 266 # and |release_rev|'. | 294 # and |release_rev|'. |
| 267 # | 295 # |
| 268 app.add_config_value('release_date', '', 'env') | 296 app.add_config_value('release_date', '', 'env') |
| 269 app.add_config_value('release_rev', '', 'env') | 297 app.add_config_value('release_rev', '', 'env') |
| 270 | 298 # Custom variable substitution |
| 271 class IAMCustomSubstitutions(sphinx.transforms.SphinxTransform): | |
| 272 | |
| 273 default_priority = sphinx.transforms.DefaultSubstitutions.default_priority | |
| 274 | |
| 275 SUBSTITUTIONS = { | |
| 276 "release_date": release_date, | |
| 277 "release_rev": release_rev | |
| 278 } | |
| 279 if define_rest_keywords: | |
| 280 SUBSTITUTIONS.update( | |
| 281 {"VCSJustDate": release_date, | |
| 282 "VCSRevision": release_rev, | |
| 283 "VCSHGRevision": release_rev}) | |
| 284 | |
| 285 def apply(self): | |
| 286 from docutils import nodes | |
| 287 for ref in self.document.traverse(nodes.substitution_reference): | |
| 288 refname = ref['refname'] | |
| 289 if refname in self.SUBSTITUTIONS: | |
| 290 stext = self.SUBSTITUTIONS[refname] | |
| 291 ref.replace_self(nodes.Text(stext, stext)) | |
| 292 #if refname in ('release_date' 'release_rev'): | |
| 293 # stext = self.config[refname] | |
| 294 # ref.replace_self(nodes.Text(stext, stext)) | |
| 295 | |
| 296 app.add_transform(IAMCustomSubstitutions) | 299 app.add_transform(IAMCustomSubstitutions) |
