|
|
@ -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) |
|
|
|
|
|
|
|
|
|
|
|
os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE) |
|
|
|
c.setopt(pycurl.WRITEDATA, fp) |
|
|
|
|
|
|
|
c.perform() |
|
|
|
except RequestException: |
|
|
|
c.close() |
|
|
|
|
|
|
|
os.rename(ASSIST_DATA_FILE_DOWNLOAD, ASSIST_DATA_FILE) |
|
|
|
|
|
|
|
except pycurl.error: |
|
|
|
|
|
|
|
cloudlog.exception("Failed to download assistance file") |
|
|
|
cloudlog.exception("Failed to download assistance file") |
|
|
|
return |
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|