Mercurial > agora-palash
view apps/snippet/highlight.py @ 207:d534881629ff
Updated snippet's template and views files to fix rating code collision which prevented posting new snippets.
Updated snippet's models file so that now secret id of each snippet will be unique. It also means that the no two or more than two snippets will have same secret id.
author | Ahsan Ali Shahid <ahsan.ali.shahid@gmail.com> |
---|---|
date | Mon, 19 Aug 2013 20:30:19 +0500 |
parents | 892c7fbd3b35 |
children |
line wrap: on
line source
from pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer from pygments.styles import get_all_styles from pygments.formatters import HtmlFormatter from pygments.util import ClassNotFound from pygments import highlight LEXER_LIST_ALL = sorted([(i[1][0], i[0]) for i in get_all_lexers()]) LEXER_LIST = ( ('bash', 'bash'), ('c', 'C'), ('c++', 'C++'), ('diff', 'patch or diff'), ('java', 'Java'), ('matlab', 'MATLAB'), ('octave', 'Octave'), ('perl', 'Perl'), ('php', 'PHP'), ('python', 'Python'), ('text', 'Text only'), ) LEXER_DEFAULT = 'octave' class NakedHtmlFormatter(HtmlFormatter): def wrap(self, source, outfile): return self._wrap_code(source) def _wrap_code(self, source): for i, t in source: yield i, t def pygmentize(code_string, lexer_name='text'): return highlight(code_string, get_lexer_by_name(lexer_name), NakedHtmlFormatter()) def guess_code_lexer(code_string, default_lexer='unknown'): try: return guess_lexer(code_string).name except ClassNotFound: return default_lexer