From 4728258a76a4dee83d779ebdc1bab4411a1f2b3f Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 7 May 2025 16:37:20 +0200 Subject: [PATCH] download image from url --- client/ayon_core/tools/utils/lib.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/tools/utils/lib.py b/client/ayon_core/tools/utils/lib.py index 4a1325dc91..6985254382 100644 --- a/client/ayon_core/tools/utils/lib.py +++ b/client/ayon_core/tools/utils/lib.py @@ -4,6 +4,7 @@ import io import contextlib import collections import traceback +import urllib.request from functools import partial from typing import Union, Any @@ -542,10 +543,18 @@ class _IconsCache: elif icon_type == "url": url = icon_def["url"] - icon = QtGui.QPixmap(url) + try: + content = urllib.request.urlopen(url).read() + pix = QtGui.QPixmap() + pix.loadFromData(content) + icon = QtGui.QIcon(pix) + except Exception as exc: + log.warning(f"Failed to download image '{url}'") + icon = None elif icon_type == "ayon_url": - url = ayon_api.get_base_url() + icon_def["url"] + url = icon_def["url"].lstrip("/") + url = f"{ayon_api.get_base_url()}/{url}" stream = io.BytesIO() ayon_api.download_file_to_stream(url, stream) pix = QtGui.QPixmap()