From 69ec973e392f95acb62078d4fa5dfe6fd33ad97d Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Mon, 1 Feb 2021 20:14:51 +0000 Subject: [PATCH] Skip deprecated lexers (Pygments 2.7.3 and later) Work around the way Pygments maintainers have decided to list "deprecated" lexers, but just skipping them if attempting to add raises an IndexError because they look like JSONBareObject here: https: //github.com/pygments/pygments/commit/5ee1754 Change-Id: Ia7b896263b4118ec369c5ce130addef3295a91a5 --- lodgeit/lib/highlighting.py | 7 ++++++- requirements.txt | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lodgeit/lib/highlighting.py b/lodgeit/lib/highlighting.py index 0ca1d09..c176b4b 100644 --- a/lodgeit/lib/highlighting.py +++ b/lodgeit/lib/highlighting.py @@ -35,7 +35,12 @@ def _get_pygments_lexers(add_empty=True): if add_empty: r.append(('', ''),) for lexer in get_all_lexers(): - r.append((lexer[1][0], _(lexer[0])),) + try: + r.append((lexer[1][0], _(lexer[0])),) + except IndexError: + # Skip "deprecated" lexer entries, like this in Pygments 2.7.3: + # https://github.com/pygments/pygments/commit/5ee1754 + continue return r diff --git a/requirements.txt b/requirements.txt index ddb8d37..3f63568 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ six Jinja2 Werkzeug<0.16 Pygments<2.6;python_version<'3' -Pygments<2.7.3;python_version>='3' +Pygments;python_version>='3' SQLAlchemy PyMySQL simplejson