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