Update qcomgpsd.py

pull/30771/head
royjr 1 year ago
parent ea7e701052
commit 49293d12f4
  1. 25
      system/qcomgpsd/qcomgpsd.py

@ -5,7 +5,8 @@ import signal
import itertools import itertools
import math import math
import time import time
import pycurl import requests
from requests.exceptions import RequestException
import shutil import shutil
import subprocess import subprocess
import datetime import datetime
@ -102,27 +103,21 @@ def gps_enabled() -> bool:
def download_assistance(): def download_assistance():
try: try:
c = pycurl.Curl() response = requests.head(ASSISTANCE_URL, timeout=2)
c.setopt(pycurl.URL, ASSISTANCE_URL) bytes_n = int(response.headers.get('content-length', 0))
c.setopt(pycurl.NOBODY, 1)
c.setopt(pycurl.CONNECTTIMEOUT, 2)
c.perform()
bytes_n = c.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD)
c.close()
if bytes_n > 1e5: if bytes_n > 1e5:
cloudlog.error("Qcom assistance data larger than expected") cloudlog.error("Qcom assistance data larger than expected")
return return
response = requests.get(ASSISTANCE_URL, timeout=5, stream=True)
with open(ASSIST_DATA_FILE_DOWNLOAD, 'wb') as fp: with open(ASSIST_DATA_FILE_DOWNLOAD, 'wb') as fp:
c = pycurl.Curl() for chunk in response.iter_content(chunk_size=8192):
c.setopt(pycurl.URL, ASSISTANCE_URL) fp.write(chunk)
c.setopt(pycurl.CONNECTTIMEOUT, 5)
c.setopt(pycurl.WRITEDATA, fp)
c.perform()
c.close()
os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE) os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE)
except pycurl.error:
except RequestException:
cloudlog.exception("Failed to download assistance file") cloudlog.exception("Failed to download assistance file")
return return

Loading…
Cancel
Save