[enh] fix pep8, improve syntax highlighting

This commit is contained in:
Thomas Pointhuber 2014-12-22 16:26:45 +01:00
parent d810763107
commit af8dac93a8
3 changed files with 29 additions and 27 deletions

View File

@ -10,8 +10,7 @@
from urllib import urlencode from urllib import urlencode
from json import loads from json import loads
import cgi
import re
# engine dependent config # engine dependent config
categories = ['it'] categories = ['it']
@ -21,17 +20,10 @@ paging = True
url = 'https://searchcode.com/' url = 'https://searchcode.com/'
search_url = url+'api/codesearch_I/?{query}&p={pageno}' search_url = url+'api/codesearch_I/?{query}&p={pageno}'
code_endings = {'c': 'c', # special code-endings which are not recognised by the file ending
'css': 'css', code_endings = {'cs': 'c#',
'cpp': 'cpp',
'c++': 'cpp',
'h': 'c', 'h': 'c',
'html': 'html', 'hpp': 'cpp'}
'hpp': 'cpp',
'js': 'js',
'lua': 'lua',
'php': 'php',
'py': 'python'}
# do search-request # do search-request
@ -58,7 +50,9 @@ def response(resp):
for line, code in result['lines'].items(): for line, code in result['lines'].items():
lines[int(line)] = code lines[int(line)] = code
code_language = code_endings.get(result['filename'].split('.')[-1].lower(), None) code_language = code_endings.get(
result['filename'].split('.')[-1].lower(),
result['filename'].split('.')[-1].lower())
# append result # append result
results.append({'url': href, results.append({'url': href,

View File

@ -37,8 +37,11 @@ def response(resp):
# parse results # parse results
for result in search_results['results']: for result in search_results['results']:
href = result['url'] href = result['url']
title = "[" + result['type'] + "] " + result['namespace'] + " " + result['name'] title = "[" + result['type'] + "] " +\
content = '<span class="highlight">[' + result['type'] + "] " + result['name'] + " " + result['synopsis'] + "</span><br />" + result['description'] result['namespace'] + " " + result['name']
content = '<span class="highlight">[' + result['type'] + "] " +\
result['name'] + " " + result['synopsis'] +\
"</span><br />" + result['description']
# append result # append result
results.append({'url': href, results.append({'url': href,

View File

@ -99,8 +99,12 @@ def code_highlighter(codelines, language=None):
if not language: if not language:
language = 'text' language = 'text'
try:
# find lexer by programing language # find lexer by programing language
lexer = get_lexer_by_name(language, stripall=True) lexer = get_lexer_by_name(language, stripall=True)
except:
# if lexer is not found, using default one
lexer = get_lexer_by_name('text', stripall=True)
html_code = '' html_code = ''
tmp_code = '' tmp_code = ''
@ -112,11 +116,12 @@ def code_highlighter(codelines, language=None):
line_code_start = line line_code_start = line
# new codeblock is detected # new codeblock is detected
if last_line != None and\ if last_line is not None and\
last_line +1 != line: last_line + 1 != line:
# highlight last codepart # highlight last codepart
formatter = HtmlFormatter(linenos='inline', linenostart=line_code_start) formatter = HtmlFormatter(linenos='inline',
linenostart=line_code_start)
html_code = html_code + highlight(tmp_code, lexer, formatter) html_code = html_code + highlight(tmp_code, lexer, formatter)
# reset conditions for next codepart # reset conditions for next codepart