From 22e63a8e881cf41074b69647213473f0e89746c8 Mon Sep 17 00:00:00 2001 From: Jonas Haag <jonas@lophus.org> Date: Wed, 8 Jun 2011 14:33:40 +0200 Subject: [PATCH] pygmentize(): Don't crash if no lexer could be guessed from the filename. Rather, guess by content in that case. --- klaus.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/klaus.py b/klaus.py index 23119d6..3bbb982 100644 --- a/klaus.py +++ b/klaus.py @@ -8,7 +8,8 @@ from dulwich.objects import Commit from jinja2 import Environment, FileSystemLoader from pygments import highlight -from pygments.lexers import get_lexer_for_filename, get_lexer_by_name +from pygments.lexers import get_lexer_for_filename, get_lexer_by_name, \ + guess_lexer, ClassNotFound from pygments.formatters import HtmlFormatter from nano import NanoApplication, HttpError @@ -44,7 +45,10 @@ def pygmentize(code, filename=None, language=None): if language: lexer = get_lexer_by_name(language) else: - lexer = get_lexer_for_filename(filename) + try: + lexer = get_lexer_for_filename(filename) + except ClassNotFound: + lexer = guess_lexer(code) return highlight(code, lexer, pygments_formatter) pygments_formatter = HtmlFormatter(linenos=True) -- GitLab