Commit cc26dde7 authored by Nicolas Gelot's avatar Nicolas Gelot
Browse files

Update pep8 tools to pycodestyle

pep8 is deprecated, it is replaced by pycodestyle.
parent bbb5e68b
...@@ -35,7 +35,8 @@ pep8_check() { ...@@ -35,7 +35,8 @@ pep8_check() {
# ignored rules: # ignored rules:
# E402 module level import not at top of file # E402 module level import not at top of file
# W503 line break before binary operator # W503 line break before binary operator
pep8 --exclude=searx/static --max-line-length=120 --ignore "E402,W503" "$SEARX_DIR" "$BASE_DIR/tests" # E722 do not use bare 'except'
pycodestyle --exclude=searx/static --max-line-length=120 --ignore "E402,W503,E722" "$SEARX_DIR" "$BASE_DIR/tests"
} }
unit_tests() { unit_tests() {
......
babel==2.3.4 babel==2.3.4
mock==2.0.0 mock==2.0.0
pep8==1.7.0 pycodestyle==2.4.0
mockredispy==2.9.3 mockredispy==2.9.3
pytest==4.1.0 pytest==4.1.0
pytest-cov==2.6.1 pytest-cov==2.6.1
...@@ -23,7 +23,7 @@ from io import open ...@@ -23,7 +23,7 @@ from io import open
from ssl import OPENSSL_VERSION_INFO, OPENSSL_VERSION from ssl import OPENSSL_VERSION_INFO, OPENSSL_VERSION
try: try:
from yaml import load from yaml import load
except: except ImportError:
from sys import exit, stderr from sys import exit, stderr
stderr.write('[E] install pyyaml\n') stderr.write('[E] install pyyaml\n')
exit(2) exit(2)
...@@ -38,6 +38,7 @@ def check_settings_yml(file_name): ...@@ -38,6 +38,7 @@ def check_settings_yml(file_name):
else: else:
return None return None
# find location of settings.yml # find location of settings.yml
if 'SEARX_SETTINGS_PATH' in environ: if 'SEARX_SETTINGS_PATH' in environ:
# if possible set path to settings using the # if possible set path to settings using the
......
...@@ -116,7 +116,7 @@ def _fetch_supported_languages(resp): ...@@ -116,7 +116,7 @@ def _fetch_supported_languages(resp):
regions = dom.xpath(regions_xpath) regions = dom.xpath(regions_xpath)
for region in regions: for region in regions:
code = re.search('setmkt=[^\&]+', region).group()[7:] code = re.search('setmkt=[^&]+', region).group()[7:]
if code == 'nb-NO': if code == 'nb-NO':
code = 'no-NO' code = 'no-NO'
......
...@@ -72,6 +72,7 @@ def parse_album(hit): ...@@ -72,6 +72,7 @@ def parse_album(hit):
result.update({'content': 'Released: {}'.format(year)}) result.update({'content': 'Released: {}'.format(year)})
return result return result
parse = {'lyric': parse_lyric, 'song': parse_lyric, 'artist': parse_artist, 'album': parse_album} parse = {'lyric': parse_lyric, 'song': parse_lyric, 'artist': parse_artist, 'album': parse_album}
......
...@@ -89,9 +89,8 @@ url_map = 'https://www.openstreetmap.org/'\ ...@@ -89,9 +89,8 @@ url_map = 'https://www.openstreetmap.org/'\
# search-url # search-url
search_path = '/search' search_path = '/search'
search_url = ('https://{hostname}' + search_url = ('https://{hostname}' + search_path + '?{query}'
search_path + '&start={offset}&gws_rd=cr&gbv=1&lr={lang}&hl={lang_short}&ei=x')
'?{query}&start={offset}&gws_rd=cr&gbv=1&lr={lang}&hl={lang_short}&ei=x')
time_range_search = "&tbs=qdr:{range}" time_range_search = "&tbs=qdr:{range}"
time_range_dict = {'day': 'd', time_range_dict = {'day': 'd',
......
...@@ -76,11 +76,11 @@ def response(resp): ...@@ -76,11 +76,11 @@ def response(resp):
# get thumbnails # get thumbnails
script = str(dom.xpath('//script[contains(., "_setImagesSrc")]')[0].text) script = str(dom.xpath('//script[contains(., "_setImagesSrc")]')[0].text)
id = result.xpath('.//div[@class="s"]//img/@id')[0] id = result.xpath('.//div[@class="s"]//img/@id')[0]
thumbnails_data = re.findall('s=\'(.*?)(?:\\\\[a-z,1-9,\\\\]+\'|\')\;var ii=\[(?:|[\'vidthumb\d+\',]+)\'' + id, thumbnails_data = re.findall(r's=\'(.*?)(?:\\\\[a-z,1-9,\\\\]+\'|\')\;var ii=\[(?:|[\'vidthumb\d+\',]+)\'' + id,
script) script)
tmp = [] tmp = []
if len(thumbnails_data) != 0: if len(thumbnails_data) != 0:
tmp = re.findall('(data:image/jpeg;base64,[a-z,A-Z,0-9,/,\+]+)', thumbnails_data[0]) tmp = re.findall(r'(data:image/jpeg;base64,[a-z,A-Z,0-9,/,\+]+)', thumbnails_data[0])
thumbnail = '' thumbnail = ''
if len(tmp) != 0: if len(tmp) != 0:
thumbnail = tmp[-1] thumbnail = tmp[-1]
......
...@@ -28,10 +28,10 @@ search_string = '?{query}&page={page}' ...@@ -28,10 +28,10 @@ search_string = '?{query}&page={page}'
supported_languages_url = base_url supported_languages_url = base_url
# regex # regex
regex_json = re.compile('initialData: {"Request":(.|\n)*},\s*environment') regex_json = re.compile(r'initialData: {"Request":(.|\n)*},\s*environment')
regex_json_remove_start = re.compile('^initialData:\s*') regex_json_remove_start = re.compile(r'^initialData:\s*')
regex_json_remove_end = re.compile(',\s*environment$') regex_json_remove_end = re.compile(r',\s*environment$')
regex_img_url_remove_start = re.compile('^https?://i\.swisscows\.ch/\?link=') regex_img_url_remove_start = re.compile(r'^https?://i\.swisscows\.ch/\?link=')
# do search-request # do search-request
......
...@@ -49,7 +49,7 @@ class RawTextQuery(object): ...@@ -49,7 +49,7 @@ class RawTextQuery(object):
self.query_parts = [] self.query_parts = []
# split query, including whitespaces # split query, including whitespaces
raw_query_parts = re.split(r'(\s+)' if isinstance(self.query, str) else b'(\s+)', self.query) raw_query_parts = re.split(r'(\s+)' if isinstance(self.query, str) else r'(\s+)'.encode(), self.query)
parse_next = True parse_next = True
......
...@@ -171,7 +171,7 @@ class ResultContainer(object): ...@@ -171,7 +171,7 @@ class ResultContainer(object):
continue continue
try: try:
result['url'] = result['url'] result['url'] = result['url']
except: except KeyError:
pass pass
if 'title' in result and not isinstance(result['title'], str): if 'title' in result and not isinstance(result['title'], str):
continue continue
......
...@@ -6,6 +6,7 @@ import re ...@@ -6,6 +6,7 @@ import re
from babel.core import get_global from babel.core import get_global
from babel.dates import format_date from babel.dates import format_date
from babel import UnknownLocaleError
from codecs import getincrementalencoder from codecs import getincrementalencoder
from imp import load_source from imp import load_source
from numbers import Number from numbers import Number
...@@ -205,7 +206,7 @@ def format_date_by_locale(date, locale_string): ...@@ -205,7 +206,7 @@ def format_date_by_locale(date, locale_string):
# to avoid crashing if locale is not supported by babel # to avoid crashing if locale is not supported by babel
try: try:
formatted_date = format_date(date, locale=locale_string) formatted_date = format_date(date, locale=locale_string)
except: except UnknownLocaleError:
formatted_date = format_date(date, "YYYY-MM-dd") formatted_date = format_date(date, "YYYY-MM-dd")
return formatted_date return formatted_date
...@@ -255,7 +256,7 @@ def get_torrent_size(filesize, filesize_multiplier): ...@@ -255,7 +256,7 @@ def get_torrent_size(filesize, filesize_multiplier):
filesize = int(filesize * 1000 * 1000) filesize = int(filesize * 1000 * 1000)
elif filesize_multiplier == 'KiB': elif filesize_multiplier == 'KiB':
filesize = int(filesize * 1000) filesize = int(filesize * 1000)
except: except ValueError:
filesize = None filesize = None
return filesize return filesize
......
...@@ -40,8 +40,9 @@ logger = logger.getChild('webapp') ...@@ -40,8 +40,9 @@ logger = logger.getChild('webapp')
try: try:
from pygments import highlight from pygments import highlight
from pygments.lexers import get_lexer_by_name from pygments.lexers import get_lexer_by_name
from pygments.util import ClassNotFound
from pygments.formatters import HtmlFormatter from pygments.formatters import HtmlFormatter
except: except ImportError:
logger.critical("cannot import dependency: pygments") logger.critical("cannot import dependency: pygments")
from sys import exit from sys import exit
...@@ -178,7 +179,7 @@ def code_highlighter(codelines, language=None): ...@@ -178,7 +179,7 @@ def code_highlighter(codelines, language=None):
try: 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: except ClassNotFound:
# if lexer is not found, using default one # if lexer is not found, using default one
logger.debug('highlighter cannot find lexer for {0}'.format(language)) logger.debug('highlighter cannot find lexer for {0}'.format(language))
lexer = get_lexer_by_name('text', stripall=True) lexer = get_lexer_by_name('text', stripall=True)
......
...@@ -48,8 +48,11 @@ class TestCurrencyConvertEngine(TestCase): ...@@ -48,8 +48,11 @@ class TestCurrencyConvertEngine(TestCase):
results = currency_convert.response(response) results = currency_convert.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)
self.assertEqual(results[0]['answer'], '10.0 GBP = 5.0 USD, 1 GBP (pound sterling)' + self.assertEqual(
' = 0.5 USD (United States dollar)') results[0]['answer'],
('10.0 GBP = 5.0 USD, 1 GBP (pound sterling)'
' = 0.5 USD (United States dollar)')
)
target_url = 'https://duckduckgo.com/js/spice/currency/1/{}/{}'.format( target_url = 'https://duckduckgo.com/js/spice/currency/1/{}/{}'.format(
dicto['from'], dicto['to']) dicto['from'], dicto['to'])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment