Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
changeset 249:feaa552cbe98
Some overhowl of the docs configuration in conf.py.
Sync with other projects.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 16 May 2026 15:16:42 +0200 |
| parents | d76f090d991f |
| children | 5d3f7d80766f |
| files | docs/conf.py |
| diffstat | 1 files changed, 46 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/conf.py Sat May 16 13:03:02 2026 +0200 +++ b/docs/conf.py Sat May 16 15:16:42 2026 +0200 @@ -43,48 +43,53 @@ project = 'Pygments Pseudocode Lexer' copyright = u'2026 Franz Glasner. © Copyright 2015 Simon Wachter' author = 'Franz Glasner' + # # Determine "release" and other release metadata dynamically from the # package's "__version__" or other VCS data. # + +# +# Optimistically assume that all keywords are expanded properly everywhere: +# do not define special VCSxxx keyword below. +# +define_rest_keywords = False with io.open("../pygments_lexer_pseudocode2/__init__.py", "rt", encoding="utf-8") as relfp: verfiledata = relfp.read() - release = ast.literal_eval( - re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", - verfiledata, - re.MULTILINE).group(1)) - release_date = today = ( - ast.literal_eval( - re.search(r"""^\s*__date__\s*=\s*(("|')[^"']*\2)""", - verfiledata, - re.MULTILINE).group(1)) - or "dev-%s" % (current_date,) - ) - release_rev = ast.literal_eval( - re.search(r"""^\s*__revision__\s*=\s*(("|')[^"']*\2)""", - verfiledata, - re.MULTILINE).group(1)) - if release_rev.startswith("|") or release_rev.endswith("|"): - # Assume that make export (hg kwarchive) may not has been called. - import subprocess - try: - release_rev = subprocess.check_output( - ["hg", "id", "-i"], stderr=subprocess.STDOUT) - except Exception: - release_rev = "<unknown>" - else: - if sys.version_info[0] >= 3: - release_rev = release_rev.decode("ascii") - release_rev = "dev-%s" % (release_rev.strip(),) - define_rest_keywords = True +release = ast.literal_eval( + re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", + verfiledata, + re.MULTILINE).group(1)) +release_date = today = ast.literal_eval( + re.search(r"""^\s*__date__\s*=\s*(("|')[^"']*\2)""", + verfiledata, + re.MULTILINE).group(1)) +if (not release_date + or (release_date.startswith("|") and release_date.endswith("|"))): + release_date = today = "dev-%s" % (current_date,) +release_rev = ast.literal_eval( + re.search(r"""^\s*__revision__\s*=\s*(("|')[^"']*\2)""", + verfiledata, + re.MULTILINE).group(1)) +if (not release_rev + or (release_rev.startswith("|") or release_rev.endswith("|"))): + # + # Above assumption is not true: "hg kwarchive" may not have been called. + # Try to determine from VCS. + # + import subprocess + try: + release_rev = subprocess.check_output( + ["hg", "id", "-i"], stderr=subprocess.STDOUT) + except Exception: + release_rev = "<UNKNOWN>" else: - # - # Assume that all keywords are expanded properly everywhere: - # do not define special VCSxxx keyword below. - # - define_rest_keywords = False + if sys.version_info[0] >= 3: + release_rev = release_rev.decode("ascii") + release_rev = "dev-%s" % (release_rev.strip(),) + define_rest_keywords = True version = release primary_domain = None @@ -150,8 +155,8 @@ "releasename": "Version", "fncychap": r"\usepackage[Sonny]{fncychap}", "preamble": r"\usepackage[stdtitle=false]{my-doc-style}", - "maketitle": r"\builddate{%s}\vcsrevision{%s}\sphinxmaketitle" \ - % (current_date, release_rev), + "maketitle": r"\builddate{%s}\vcsrevision{%s}\sphinxmaketitle" + % (current_date, release_rev), } latex_theme = "manual" latex_show_urls = "footnote" @@ -169,6 +174,7 @@ "examples/algorithm-edmonds-karp.pseudocode", ] + def setup(app): # # Custom release_date and commit id variables with a custom substitution @@ -208,7 +214,7 @@ try: if not pygments.lexers.find_lexer_class("AlgPseudocode"): sphinx.util.logging.getLogger("conf-setup").info( - "%s","Installing lexer `AlgPseudocode' and language variants") + "%s", "Installing lexer `AlgPseudocode' and language variants") for clsname, lexer in ( ("AlgPseudocodeLexer", AlgPseudocodeLexer), ("AlgPseudocodeLexer_DE", AlgPseudocodeLexer_DE), @@ -221,7 +227,7 @@ tuple(lexer.mimetypes)) if not pygments.lexers.find_lexer_class("FrPseudocode"): sphinx.util.logging.getLogger("conf-setup").info( - "%s","Installing lexer `FrPseudocode'") + "%s", "Installing lexer `FrPseudocode'") for clsname, lexer in ( ("FrPseudocodeLexer", FrPseudocodeLexer),): pygments.lexers.LEXERS[clsname] = ( @@ -232,12 +238,12 @@ tuple(lexer.mimetypes)) if not pygments.filters.find_filter_class("tokenreplace"): sphinx.util.logging.getLogger("conf-setup").info( - "%s","Installing filter `tokenreplace'") + "%s", "Installing filter `tokenreplace'") pygments.filters.FILTERS["tokenreplace"] = TokenReplaceFilter if not pygments.filters.find_filter_class("errortogenericerror"): sphinx.util.logging.getLogger("conf-setup").info( - "%s","Installing filter `errortogenericerror'") - pygments.filters.FILTERS["errortogenericerror"] = \ + "%s", "Installing filter `errortogenericerror'") + pygments.filters.FILTERS["errortogenericerror"] = \ ErrorToGenericErrorTokenFilter except Exception as ex: sphinx.util.logging.getLogger("conf-setup").error("%s", str(ex))
