diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-03-05 09:43:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-05 09:43:39 +0100 |
| commit | aaae9a209e4d6518965064e8b515e411fb8dd0d6 (patch) | |
| tree | 922a8875536ac058d501bb207c04219744eee538 /utils/fetch_firefox_version.py | |
| parent | 1d10ae175c0929d383d268f56bfadb304365ccf2 (diff) | |
| parent | b8cd3264644208d7afa1a239f829222d45226334 (diff) | |
Merge pull request #2600 from dalf/searx-extra
Add searx_extra package
Diffstat (limited to 'utils/fetch_firefox_version.py')
| -rwxr-xr-x | utils/fetch_firefox_version.py | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/utils/fetch_firefox_version.py b/utils/fetch_firefox_version.py deleted file mode 100755 index 997a752b3..000000000 --- a/utils/fetch_firefox_version.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python - -# set path -from sys import path -from os.path import realpath, dirname, join -path.append(realpath(dirname(realpath(__file__)) + '/../')) - -# -import json -import requests -import re -from urllib.parse import urlparse, urljoin -from distutils.version import LooseVersion, StrictVersion -from lxml import html -from searx import searx_dir - -URL = 'https://ftp.mozilla.org/pub/firefox/releases/' -RELEASE_PATH = '/pub/firefox/releases/' - -NORMAL_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?$') -# BETA_REGEX = re.compile('.*[0-9]b([0-9\-a-z]+)$') -# ESR_REGEX = re.compile('^[0-9]+\.[0-9](\.[0-9])?esr$') - -# -useragents = { - "versions": (), - "os": ('Windows NT 10.0; WOW64', - 'X11; Linux x86_64'), - "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}" -} - - -def fetch_firefox_versions(): - resp = requests.get(URL, timeout=2.0) - if resp.status_code != 200: - raise Exception("Error fetching firefox versions, HTTP code " + resp.status_code) - else: - dom = html.fromstring(resp.text) - versions = [] - - for link in dom.xpath('//a/@href'): - url = urlparse(urljoin(URL, link)) - path = url.path - if path.startswith(RELEASE_PATH): - version = path[len(RELEASE_PATH):-1] - if NORMAL_REGEX.match(version): - versions.append(LooseVersion(version)) - - list.sort(versions, reverse=True) - return versions - - -def fetch_firefox_last_versions(): - versions = fetch_firefox_versions() - - result = [] - major_last = versions[0].version[0] - major_list = (major_last, major_last - 1) - for version in versions: - major_current = version.version[0] - if major_current in major_list: - result.append(version.vstring) - - return result - - -def get_useragents_filename(): - return join(join(searx_dir, "data"), "useragents.json") - - -useragents["versions"] = fetch_firefox_last_versions() -with open(get_useragents_filename(), "w") as f: - json.dump(useragents, f, indent=4, ensure_ascii=False) |