let import continue when malformed URLs are encountered

In case of malformed URLs in imported HTML, keep original URL instead
of having the import get stuck.
pull/255/head
Sylvain Pasche 2022-09-18 18:14:25 +07:00
parent d4658b9c2a
commit fc69f3b8f3
1 changed files with 12 additions and 2 deletions

@ -292,7 +292,12 @@ async function importZip(taskContext, fileBuffer, importRootNote) {
content = content.replace(/<\/body>.*<\/html>/gis, "");
content = content.replace(/src="([^"]*)"/g, (match, url) => {
url = decodeURIComponent(url);
try {
url = decodeURIComponent(url);
} catch (e) {
log.error(`Cannot parse image URL '${url}', keeping original (${e}).`);
return `src="${url}"`;
}
if (isUrlAbsolute(url) || url.startsWith("/")) {
return match;
@ -304,7 +309,12 @@ async function importZip(taskContext, fileBuffer, importRootNote) {
});
content = content.replace(/href="([^"]*)"/g, (match, url) => {
url = decodeURIComponent(url);
try {
url = decodeURIComponent(url);
} catch (e) {
log.error(`Cannot parse link URL '${url}', keeping original (${e}).`);
return `href="${url}"`;
}
if (isUrlAbsolute(url)) {
return match;