From: Erfan Abdi Date: Sun, 12 Sep 2021 04:08:30 +0000 (+0430) Subject: tools: Drop requests library dependency X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/commitdiff_plain/5923649ae511bb9eefdb676a3f65f34957896ad1 tools: Drop requests library dependency --- diff --git a/tools/actions/initializer.py b/tools/actions/initializer.py index 2173b45..f527ec8 100644 --- a/tools/actions/initializer.py +++ b/tools/actions/initializer.py @@ -45,11 +45,11 @@ def setup_config(args): args.system_ota = args.system_channel + "/" + args.rom_type + \ "/waydroid_" + args.arch + "/" + args.system_type + ".json" - system_request = requests.get(args.system_ota) - if system_request.status_code != 200: + system_request = helpers.http.retrieve(args.system_ota) + if system_request[0] != 200: if args.images_path != preinstalled_images: raise ValueError( - "Failed to get system OTA channel: {}".format(args.system_ota)) + "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) else: args.system_ota = "None" @@ -58,8 +58,8 @@ def setup_config(args): for vendor in [device_codename, get_vendor_type(args)]: vendor_ota = args.vendor_channel + "/waydroid_" + \ args.arch + "/" + vendor + ".json" - vendor_request = requests.get(vendor_ota) - if vendor_request.status_code == 200: + vendor_request = helpers.http.retrieve(vendor_ota) + if vendor_request[0] == 200: args.vendor_type = vendor args.vendor_ota = vendor_ota break diff --git a/tools/helpers/http.py b/tools/helpers/http.py index d05522b..c63d665 100644 --- a/tools/helpers/http.py +++ b/tools/helpers/http.py @@ -1,7 +1,6 @@ # Copyright 2021 Oliver Smith # SPDX-License-Identifier: GPL-3.0-or-later import hashlib -import json import logging import os import shutil @@ -56,14 +55,12 @@ def download(args, url, prefix, cache=True, loglevel=logging.INFO, return path -def retrieve(url, headers=None, allow_404=False): +def retrieve(url, headers=None): """ Fetch the content of a URL and returns it as string. :param url: the http(s) address of to the resource to fetch :param headers: dict of HTTP headers to use - :param allow_404: do not raise an exception when the server responds - with a 404 Not Found error. Only display a warning - :returns: str with the content of the response + :returns: status and str with the content of the response """ # Download the file logging.verbose("Retrieving " + url) @@ -74,16 +71,7 @@ def retrieve(url, headers=None, allow_404=False): req = urllib.request.Request(url, headers=headers) try: with urllib.request.urlopen(req) as response: - return response.read() + return 200, response.read() # Handle 404 except urllib.error.HTTPError as e: - if e.code == 404 and allow_404: - logging.warning("WARNING: failed to retrieve content from: " + url) - return None - raise - - -def retrieve_json(*args, **kwargs): - """ Fetch the contents of a URL, parse it as JSON and return it. See - retrieve() for the list of all parameters. """ - return json.loads(retrieve(*args, **kwargs)) + return e.code, "" diff --git a/tools/helpers/images.py b/tools/helpers/images.py index aaeadff..36af1e6 100644 --- a/tools/helpers/images.py +++ b/tools/helpers/images.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later import logging import zipfile -import requests +import json import hashlib import os import tools.config @@ -22,11 +22,11 @@ def sha256sum(filename): def get(args): cfg = tools.config.load(args) system_ota = cfg["waydroid"]["system_ota"] - system_request = requests.get(system_ota) - if system_request.status_code != 200: + system_request = helpers.http.retrieve(system_ota) + if system_request[0] != 200: raise ValueError( - "Failed to get system OTA channel: {}".format(system_ota)) - system_responses = system_request.json()["response"] + "Failed to get system OTA channel: {}, error: {}".format(args.system_ota, system_request[0])) + system_responses = json.loads(system_request[1])["response"] if len(system_responses) < 1: raise ValueError("No images found on system channel") @@ -47,11 +47,11 @@ def get(args): break vendor_ota = cfg["waydroid"]["vendor_ota"] - vendor_request = requests.get(vendor_ota) - if vendor_request.status_code != 200: + vendor_request = helpers.http.retrieve(vendor_ota) + if vendor_request[0] != 200: raise ValueError( - "Failed to get vendor OTA channel: {}".format(vendor_ota)) - vendor_responses = vendor_request.json()["response"] + "Failed to get vendor OTA channel: {}, error: {}".format(vendor_ota, vendor_request[0])) + vendor_responses = json.loads(vendor_request[1])["response"] if len(vendor_responses) < 1: raise ValueError("No images found on vendor channel")