From f65eb1a8cc203af8c4e7caaaa2f2e478eafd60a3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 30 Nov 2017 00:23:22 +0100 Subject: [PATCH] m.htmlsanity: don't fail so hard if Pyphen is not available. --- pelican-plugins/m/htmlsanity.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pelican-plugins/m/htmlsanity.py b/pelican-plugins/m/htmlsanity.py index 69d7e043..8c155cc7 100644 --- a/pelican-plugins/m/htmlsanity.py +++ b/pelican-plugins/m/htmlsanity.py @@ -180,7 +180,7 @@ class Pyphen(Transform): # I'm assuming this is faster than recreating the instance for # every text node if lang not in pyphen_for_lang: - if lang not in pyphen.LANGUAGES: continue + if not pyphen or lang not in pyphen.LANGUAGES: continue pyphen_for_lang[lang] = pyphen.Pyphen(lang=lang) txtnode.parent.replace(txtnode, nodes.Text(words_re.sub(lambda m: pyphen_for_lang[lang].inserted(m.group(0), '\u00AD'), txtnode.astext()))) @@ -600,7 +600,7 @@ def render_rst(value): def hyphenate(value, enable=None, lang=None): if enable is None: enable = settings['M_HTMLSANITY_HYPHENATION'] if lang is None: lang = settings['DEFAULT_LANG'] - if not enable: return value + if not enable or not pyphen: return value pyphen_ = pyphen.Pyphen(lang=lang) return words_re.sub(lambda m: pyphen_.inserted(m.group(0), '­'), str(value)) -- 2.30.2