[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 json import loads
import cgi
import re
# engine dependent config
categories = ['it']
@ -21,17 +20,10 @@ paging = True
url = 'https://searchcode.com/'
search_url = url+'api/codesearch_I/?{query}&p={pageno}'
code_endings = {'c': 'c',
'css': 'css',
'cpp': 'cpp',
'c++': 'cpp',
# special code-endings which are not recognised by the file ending
code_endings = {'cs': 'c#',
'h': 'c',
'html': 'html',
'hpp': 'cpp',
'js': 'js',
'lua': 'lua',
'php': 'php',
'py': 'python'}
'hpp': 'cpp'}
# do search-request
@ -45,7 +37,7 @@ def request(query, params):
# get response from search-request
def response(resp):
results = []
search_results = loads(resp.text)
# parse results
@ -53,12 +45,14 @@ def response(resp):
href = result['url']
title = "" + result['name'] + " - " + result['filename']
repo = result['repo']
lines = dict()
for line, code in result['lines'].items():
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
results.append({'url': href,

View File

@ -31,15 +31,18 @@ def request(query, params):
# get response from search-request
def response(resp):
results = []
search_results = loads(resp.text)
# parse results
for result in search_results['results']:
href = result['url']
title = "[" + result['type'] + "] " + result['namespace'] + " " + result['name']
content = '<span class="highlight">[' + result['type'] + "] " + result['name'] + " " + result['synopsis'] + "</span><br />" + result['description']
title = "[" + result['type'] + "] " +\
result['namespace'] + " " + result['name']
content = '<span class="highlight">[' + result['type'] + "] " +\
result['name'] + " " + result['synopsis'] +\
"</span><br />" + result['description']
# append result
results.append({'url': href,
'title': title,

View File

@ -99,9 +99,13 @@ def code_highlighter(codelines, language=None):
if not language:
language = 'text'
# find lexer by programing language
lexer = get_lexer_by_name(language, stripall=True)
try:
# find lexer by programing language
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 = ''
tmp_code = ''
last_line = None
@ -112,20 +116,21 @@ def code_highlighter(codelines, language=None):
line_code_start = line
# new codeblock is detected
if last_line != None and\
last_line +1 != line:
if last_line is not None and\
last_line + 1 != line:
# 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)
# reset conditions for next codepart
tmp_code = ''
line_code_start = line
# add codepart
tmp_code += code + '\n'
# update line
last_line = line