chore: replace json to orjson

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
2025-08-10 12:35:12 +05:00
parent 24a7c2e657
commit 35736e1723

View File

@@ -20,7 +20,6 @@ import shutil
import zlib
import websocket
import requests
import json
import random
import base64
@@ -867,7 +866,7 @@ def call_steam_api(js_cmd: str, *args) -> dict | None:
"""
try:
ws = websocket.create_connection(ws_url, timeout=5)
js_args = ", ".join(json.dumps(arg) for arg in args)
js_args = ", ".join(orjson.dumps(arg).decode('utf-8') for arg in args)
expression = f"{js_code} {js_cmd}({js_args});"
payload = {
"id": random.randint(0, 32767),
@@ -879,11 +878,11 @@ def call_steam_api(js_cmd: str, *args) -> dict | None:
}
}
ws.send(json.dumps(payload))
ws.send(orjson.dumps(payload))
response_str = ws.recv()
ws.close()
response_data = json.loads(response_str)
response_data = orjson.loads(response_str)
if "error" in response_data:
logger.error(f"Ошибка выполнения JS в Steam: {response_data['error']['message']}")
return None
@@ -1092,8 +1091,6 @@ export START_FROM_STEAM=1
return (False, "Не удалось создать ярлык ни одним из способов.")
steam_appid = None
# downloaded_count = 0
# download_lock = threading.Lock()
def on_game_info(game_info: dict):
nonlocal steam_appid
@@ -1111,7 +1108,6 @@ export START_FROM_STEAM=1
]
def on_cover_download(result_path: str | None, steam_name: str, index: int):
# nonlocal downloaded_count
try:
if result_path and os.path.exists(result_path):
logger.info(f"Downloaded cover {steam_name} to {result_path}")
@@ -1128,10 +1124,6 @@ export START_FROM_STEAM=1
logger.warning(f"Failed to download cover {steam_name} for appid {steam_appid}")
except Exception as e:
logger.error(f"Error processing cover {steam_name} for appid {steam_appid}: {e}")
# with download_lock:
# downloaded_count += 1
# if downloaded_count == len(cover_types):
# finalize_shortcut()
for i, (suffix, steam_name) in enumerate(cover_types):
cover_file = os.path.join(grid_dir, f"{appid}{suffix}")
@@ -1194,7 +1186,6 @@ def remove_from_steam(game_name: str, exec_line: str) -> tuple[bool, str]:
return (False, f"Game '{game_name}' not found in Steam")
appid = None
was_api_used = False
# Load and modify shortcuts.vdf
try:
@@ -1226,7 +1217,6 @@ def remove_from_steam(game_name: str, exec_line: str) -> tuple[bool, str]:
api_response = call_steam_api("removeShortcut", appid)
if api_response is not None: # API ответил, даже если ответ пустой
was_api_used = True
logger.info(f"Ярлык для AppID {appid} успешно удален через API.")
else:
logger.warning("Не удалось удалить ярлык через API. Используется запасной метод (редактирование shortcuts.vdf).")