Redundancy for some downloads.
This commit is contained in:
@@ -45,9 +45,16 @@ def internet_available():
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def apple_support_url():
|
def apple_support_urls():
|
||||||
gateway = os.environ.get("ipfsGateway", "https://ipfs.stormux.org")
|
gateway = os.environ.get("ipfsGateway", "https://ipfs.stormux.org")
|
||||||
return f"{gateway}/ipfs/{APPLE2E_CID}?filename={APPLE2E_ZIP_NAME}"
|
gateways = (gateway, "https://ipfs.io", "https://dweb.link")
|
||||||
|
urls = []
|
||||||
|
for currentGateway in gateways:
|
||||||
|
currentGateway = currentGateway.rstrip("/")
|
||||||
|
currentUrl = f"{currentGateway}/ipfs/{APPLE2E_CID}?filename={APPLE2E_ZIP_NAME}"
|
||||||
|
if currentUrl not in urls:
|
||||||
|
urls.append(currentUrl)
|
||||||
|
return urls
|
||||||
|
|
||||||
|
|
||||||
def sha256_file(filePath):
|
def sha256_file(filePath):
|
||||||
@@ -147,7 +154,16 @@ def ensure_apple_support_files(
|
|||||||
zipPath = cacheDir / APPLE2E_ZIP_NAME
|
zipPath = cacheDir / APPLE2E_ZIP_NAME
|
||||||
|
|
||||||
speak("Apple 2e support files are not installed. Downloading them now.", True)
|
speak("Apple 2e support files are not installed. Downloading them now.", True)
|
||||||
download_file(apple_support_url(), zipPath)
|
lastError = None
|
||||||
|
for sourceUrl in apple_support_urls():
|
||||||
|
try:
|
||||||
|
download_file(sourceUrl, zipPath)
|
||||||
|
break
|
||||||
|
except subprocess.CalledProcessError as error:
|
||||||
|
lastError = error
|
||||||
|
zipPath.unlink(missing_ok=True)
|
||||||
|
else:
|
||||||
|
raise RuntimeError("Apple 2e support archive could not be downloaded.") from lastError
|
||||||
|
|
||||||
if sha256_file(zipPath) != APPLE2E_ZIP_SHA256:
|
if sha256_file(zipPath) != APPLE2E_ZIP_SHA256:
|
||||||
zipPath.unlink(missing_ok=True)
|
zipPath.unlink(missing_ok=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user