]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
tools: Drop requests library dependency
authorErfan Abdi <erfangplus@gmail.com>
Sun, 12 Sep 2021 04:08:30 +0000 (08:38 +0430)
committerErfan Abdi <erfangplus@gmail.com>
Mon, 13 Sep 2021 18:07:08 +0000 (22:37 +0430)
tools/actions/initializer.py
tools/helpers/http.py
tools/helpers/images.py

index 2173b459dd19a5223d8355e1f6d569b48b72f7b4..f527ec83c7e1f1ff5007a8e340f47bd3b37d9f6d 100644 (file)
@@ -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
index d05522b45564694782aa4b4cd9b1b14220454855..c63d665719c93cb14a0b81f8297a3ba4c4b6cae2 100644 (file)
@@ -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, ""
index aaeadff31801bce81d2f8dd8bfdeb865b6c9ce58..36af1e6168de592fb3da99ff9f6071ec69260de4 100644 (file)
@@ -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")