From 49293d12f40fb8f690cb0c174616980b0816d7c7 Mon Sep 17 00:00:00 2001 From: royjr Date: Sat, 16 Dec 2023 21:07:29 -0500 Subject: [PATCH] Update qcomgpsd.py --- system/qcomgpsd/qcomgpsd.py | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/system/qcomgpsd/qcomgpsd.py b/system/qcomgpsd/qcomgpsd.py index 0105d4074f..8fea2dfb76 100755 --- a/system/qcomgpsd/qcomgpsd.py +++ b/system/qcomgpsd/qcomgpsd.py @@ -5,7 +5,8 @@ import signal import itertools import math import time -import pycurl +import requests +from requests.exceptions import RequestException import shutil import subprocess import datetime @@ -102,27 +103,21 @@ def gps_enabled() -> bool: def download_assistance(): try: - c = pycurl.Curl() - c.setopt(pycurl.URL, ASSISTANCE_URL) - c.setopt(pycurl.NOBODY, 1) - c.setopt(pycurl.CONNECTTIMEOUT, 2) - c.perform() - bytes_n = c.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD) - c.close() + response = requests.head(ASSISTANCE_URL, timeout=2) + bytes_n = int(response.headers.get('content-length', 0)) + if bytes_n > 1e5: cloudlog.error("Qcom assistance data larger than expected") return + response = requests.get(ASSISTANCE_URL, timeout=5, stream=True) with open(ASSIST_DATA_FILE_DOWNLOAD, 'wb') as fp: - c = pycurl.Curl() - c.setopt(pycurl.URL, ASSISTANCE_URL) - c.setopt(pycurl.CONNECTTIMEOUT, 5) - - c.setopt(pycurl.WRITEDATA, fp) - c.perform() - c.close() - os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE) - except pycurl.error: + for chunk in response.iter_content(chunk_size=8192): + fp.write(chunk) + + os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE) + + except RequestException: cloudlog.exception("Failed to download assistance file") return