fetch_firefox_version.py : compatible with Python 3 and minor fixes.

This commit is contained in:
Alex 2018-08-05 10:55:42 +02:00
parent 066bd916bf
commit 50c836864a
3 changed files with 24 additions and 21 deletions

View File

@ -1,15 +1,14 @@
{ {
"os": [ "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"Windows NT 10; WOW64",
"X11; Linux x86_64"
],
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [ "versions": [
"59.0.2", "61.0.1",
"59.0.1", "61.0",
"59.0", "60.0.2",
"58.0.2", "60.0.1",
"58.0.1", "60.0"
"58.0" ],
"os": [
"Windows NT 10; WOW64",
"X11; Linux x86_64"
] ]
} }

View File

@ -54,8 +54,8 @@ def searx_useragent():
suffix=settings['outgoing'].get('useragent_suffix', '')) suffix=settings['outgoing'].get('useragent_suffix', ''))
def gen_useragent(): def gen_useragent(os=None):
return str(useragents['ua'].format(os=choice(useragents['os']), version=choice(useragents['versions']))) return str(useragents['ua'].format(os=os or choice(useragents['os']), version=choice(useragents['versions'])))
def highlight_content(content, query): def highlight_content(content, query):

View File

@ -2,7 +2,7 @@
# set path # set path
from sys import path from sys import path
from os.path import realpath, dirname from os.path import realpath, dirname, join
path.append(realpath(dirname(realpath(__file__)) + '/../')) path.append(realpath(dirname(realpath(__file__)) + '/../'))
# #
@ -12,16 +12,17 @@ import re
from distutils.version import LooseVersion, StrictVersion from distutils.version import LooseVersion, StrictVersion
from lxml import html from lxml import html
from searx.url_utils import urlparse, urljoin from searx.url_utils import urlparse, urljoin
from searx import searx_dir
URL = 'https://ftp.mozilla.org/pub/firefox/releases/' URL = 'https://ftp.mozilla.org/pub/firefox/releases/'
RELEASE_PATH = '/pub/firefox/releases/' RELEASE_PATH = '/pub/firefox/releases/'
NORMAL_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?(esr)?$') NORMAL_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?$')
# BETA_REGEX = re.compile('.*[0-9]b([0-9\-a-z]+)$') # BETA_REGEX = re.compile('.*[0-9]b([0-9\-a-z]+)$')
# ESR_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?esr$') # ESR_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?esr$')
# #
useragent = { useragents = {
"versions": (), "versions": (),
"os": ('Windows NT 10; WOW64', "os": ('Windows NT 10; WOW64',
'X11; Linux x86_64'), 'X11; Linux x86_64'),
@ -57,13 +58,16 @@ def fetch_firefox_last_versions():
major_list = (major_last, major_last - 1) major_list = (major_last, major_last - 1)
for version in versions: for version in versions:
major_current = version.version[0] major_current = version.version[0]
if major_current in major_list and 'esr' not in version.version: if major_current in major_list:
result.append(version.vstring) result.append(version.vstring)
return result return result
useragent["versions"] = fetch_firefox_last_versions() def get_useragents_filename():
f = open("../searx/data/useragents.json", "wb") return join(join(searx_dir, "data"), "useragents.json")
json.dump(useragent, f, sort_keys=True, indent=4, ensure_ascii=False, encoding="utf-8")
f.close()
useragents["versions"] = fetch_firefox_last_versions()
with open(get_useragents_filename(), "w") as f:
json.dump(useragents, f, indent=4, ensure_ascii=False)