This commit is contained in:
CrazyBoy 2025-04-09 16:16:54 +02:00 committed by GitHub
commit ad528e02f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,6 +6,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
from . import settings, LazyLogger
from .utils import translate_path
import json
import urllib.parse
##################################################################################################
@ -245,7 +246,23 @@ class API(object):
for local_path in self.path_data.keys():
if local_path in path:
path = path.replace(local_path, self.path_data[local_path])
# URL standardization
if (
"davs://" in path.lower()
or "dav://" in path.lower()
or "http://" in path.lower()
or "https://" in path.lower()
):
protocol, rest = path.split("://", 1)
ends_with_slash = rest.endswith("/") # 记录是否以/结尾
if "/" in rest:
host, path_part = rest.split("/", 1)
path_part = "/".join(
urllib.parse.quote(segment) for segment in path_part.split("/")
)
path = f"{protocol}://{host}/{path_part}"
if ends_with_slash and not path.endswith("/"):
path += "/"
return path
def get_user_artwork(self, user_id):