diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | pygments/util.py | 10 |
2 files changed, 10 insertions, 2 deletions
@@ -19,6 +19,8 @@ Version 1.4 * Scss (#509) * Duel/JBST +- Do not fail in analyse_text methods (#618). + - Performance improvements in the HTML formatter (#523). - With the ``noclasses`` option in the HTML formatter, some styles diff --git a/pygments/util.py b/pygments/util.py index 1bd1455f..46c5a125 100644 --- a/pygments/util.py +++ b/pygments/util.py @@ -110,10 +110,16 @@ def make_analysator(f): returns float values. """ def text_analyse(text): - rv = f(text) + try: + rv = f(text) + except Exception: + return 0.0 if not rv: return 0.0 - return min(1.0, max(0.0, float(rv))) + try: + return min(1.0, max(0.0, float(rv))) + except ValueError: + return 0.0 text_analyse.__doc__ = f.__doc__ return staticmethod(text_analyse) |