Fix #6 Add cacert.pem also for async downloads
This commit is contained in:
@@ -9,7 +9,8 @@ from zipfile import ZipFile
|
||||
import aiohttp
|
||||
from PyQt5.QtCore import QThread, pyqtSignal
|
||||
from constants import Constants, Database, ChecksumWhat
|
||||
from utilities import checksum_ok, get_pool_manager
|
||||
from utilities import checksum_ok, get_pool_manager, get_cacert_file
|
||||
import ssl
|
||||
|
||||
# Needed for pyinstaller compilation.
|
||||
import encodings.idna
|
||||
@@ -156,7 +157,11 @@ class _AsyncDownloader:
|
||||
|
||||
async def _download_resource(self, session, link):
|
||||
"""Return the content of 'link' as bytes."""
|
||||
resp = await session.get(link)
|
||||
ssl_context = ssl.create_default_context(
|
||||
purpose=ssl.Purpose.SERVER_AUTH,
|
||||
cafile=get_cacert_file()
|
||||
)
|
||||
resp = await session.get(link, ssl=ssl_context)
|
||||
return await resp.read()
|
||||
|
||||
|
||||
|
||||
@@ -54,13 +54,18 @@ def is_mac_os():
|
||||
return sys.platform == 'darwin'
|
||||
|
||||
|
||||
def get_pool_manager():
|
||||
"""Return a urllib3.PoolManager object."""
|
||||
def get_cacert_file():
|
||||
"""Return the path to the cacert.pem file."""
|
||||
if hasattr(sys, "_MEIPASS"):
|
||||
ca_certs = os.path.join(sys._MEIPASS, 'cacert.pem')
|
||||
else:
|
||||
ca_certs = 'cacert.pem'
|
||||
return urllib3.PoolManager(ca_certs=ca_certs)
|
||||
return ca_certs
|
||||
|
||||
|
||||
def get_pool_manager():
|
||||
"""Return a urllib3.PoolManager object."""
|
||||
return urllib3.PoolManager(ca_certs=get_cacert_file())
|
||||
|
||||
|
||||
def checksum_ok(data, what):
|
||||
|
||||
Reference in New Issue
Block a user