fix: handle url rewrite when querying wrong endpoint
materialious is guilty of this
This commit is contained in:
4
views.py
4
views.py
@@ -36,6 +36,10 @@ def ggphtProxy(received_request):
|
|||||||
|
|
||||||
prefix = "https://yt3.ggpht.com/"
|
prefix = "https://yt3.ggpht.com/"
|
||||||
|
|
||||||
|
# fix for how materialious fetches avatars
|
||||||
|
if received_request.startswith("guc/"):
|
||||||
|
return gucProxy(received_request.removeprefix("guc/"))
|
||||||
|
|
||||||
ggpht = requests.get(prefix + received_request, headers=ythdd_globals.getHeaders(caller='proxy'), stream=True)
|
ggpht = requests.get(prefix + received_request, headers=ythdd_globals.getHeaders(caller='proxy'), stream=True)
|
||||||
ggpht.raw.decode_content = True
|
ggpht.raw.decode_content = True
|
||||||
response = Response(ggpht.raw, mimetype=ggpht.headers['content-type'], status=ggpht.status_code)
|
response = Response(ggpht.raw, mimetype=ggpht.headers['content-type'], status=ggpht.status_code)
|
||||||
|
|||||||
@@ -276,8 +276,8 @@ def generateChannelAvatarsFromUrl(url: str, proxied: bool = True) -> list:
|
|||||||
# Generates channel avatars at default sizes.
|
# Generates channel avatars at default sizes.
|
||||||
|
|
||||||
# avatar urls for channels in search results start with //yt3.ggpht.com/
|
# avatar urls for channels in search results start with //yt3.ggpht.com/
|
||||||
if url.startswith("//yt3.ggpht.com/"):
|
if url.startswith("//"):
|
||||||
url = url.replace("//yt3.ggpht.com/", "https://yt3.ggpht.com/")
|
url = "https:" + url
|
||||||
|
|
||||||
avatars = []
|
avatars = []
|
||||||
if not url.startswith("https://yt3.ggpht.com/") and not url.startswith("https://yt3.googleusercontent.com/"):
|
if not url.startswith("https://yt3.ggpht.com/") and not url.startswith("https://yt3.googleusercontent.com/"):
|
||||||
|
|||||||
Reference in New Issue
Block a user