1
1
mirror of https://github.com/Kozea/WeasyPrint.git synced 2024-10-05 16:37:47 +03:00

Display relevant error message when base URL is malformed

This commit is contained in:
Guillaume Ayoub 2024-01-16 13:30:03 +01:00
parent 68f439c686
commit 36d2a08b33

View File

@ -153,11 +153,17 @@ def get_link_attribute(element, attr_name, base_url):
if base_url:
try:
parsed = urlsplit(uri)
# Compare with fragments removed
if parsed.fragment and parsed[:-1] == urlsplit(base_url)[:-1]:
return ('url', ('internal', unquote(parsed.fragment)))
except ValueError:
LOGGER.warning('Malformed URL: %s', uri)
else:
try:
parsed_base = urlsplit(base_url)
except ValueError:
LOGGER.warning('Malformed base URL: %s', base_url)
else:
# Compare with fragments removed
if parsed.fragment and parsed[:-1] == parsed_base[:-1]:
return ('url', ('internal', unquote(parsed.fragment)))
return ('url', ('external', uri))