SC2 Client: Fix processing metadata from Github Releases for `/download_data`

This commit is contained in:
Ziktofel 2023-09-22 14:33:10 +02:00 committed by Fabian Dill
parent 8834ba88aa
commit 9931605f94
1 changed files with 12 additions and 2 deletions

View File

@ -3,6 +3,7 @@ from __future__ import annotations
import asyncio import asyncio
import copy import copy
import ctypes import ctypes
import json
import logging import logging
import multiprocessing import multiprocessing
import os.path import os.path
@ -1146,7 +1147,9 @@ def download_latest_release_zip(owner: str, repo: str, api_version: str, metadat
r1 = requests.get(url, headers=headers) r1 = requests.get(url, headers=headers)
if r1.status_code == 200: if r1.status_code == 200:
latest_metadata = str(r1.json()) latest_metadata = r1.json()
cleanup_downloaded_metadata(latest_metadata)
latest_metadata = str(latest_metadata)
# sc2_logger.info(f"Latest version: {latest_metadata}.") # sc2_logger.info(f"Latest version: {latest_metadata}.")
else: else:
sc2_logger.warning(f"Status code: {r1.status_code}") sc2_logger.warning(f"Status code: {r1.status_code}")
@ -1174,6 +1177,11 @@ def download_latest_release_zip(owner: str, repo: str, api_version: str, metadat
return "", metadata return "", metadata
def cleanup_downloaded_metadata(medatada_json):
for asset in medatada_json['assets']:
del asset['download_count']
def is_mod_update_available(owner: str, repo: str, api_version: str, metadata: str) -> bool: def is_mod_update_available(owner: str, repo: str, api_version: str, metadata: str) -> bool:
import requests import requests
@ -1182,7 +1190,9 @@ def is_mod_update_available(owner: str, repo: str, api_version: str, metadata: s
r1 = requests.get(url, headers=headers) r1 = requests.get(url, headers=headers)
if r1.status_code == 200: if r1.status_code == 200:
latest_metadata = str(r1.json()) latest_metadata = r1.json()
cleanup_downloaded_metadata(latest_metadata)
latest_metadata = str(latest_metadata)
if metadata != latest_metadata: if metadata != latest_metadata:
return True return True
else: else: