organized the code a bit better

This commit is contained in:
2011-12-27 03:12:35 +00:00
parent de2b47d111
commit 1d81040ecf
2 changed files with 41 additions and 25 deletions

34
pylight.py Normal file
View File

@@ -0,0 +1,34 @@
from pygments import highlight
from pygments.lexers import *
from pygments.formatters import get_formatter_by_name
def pylight(args):
if 'source' not in args:
return False
try:
lexer = detect_lexer(args)
formatter = detect_formatter(args)
return { 'lexer': lexer.name,
'body': highlight(args['source'], lexer, formatter) }
except:
return False
def detect_lexer(args):
if 'lang' in args:
return get_lexer_by_name(args['lang'])
elif 'mimetype' in args:
return get_lexer_for_mimetype(args['mimetype'])
elif 'filename' in args:
return guess_lexer_for_filename(args['filename'],
args['source'])
else:
return guess_lexer(args['source'])
def detect_formatter(args):
if 'format' in args:
return get_formatter_by_name(args['format'])
else:
return get_formatter_by_name('html')