X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2FComicSiteFilter.java;h=0b52045f241758b98b8742b5af9f87348a5d1bab;hb=0bf557e80c2a0bedcfe5f2c82fe8cd82bf93d2cb;hp=9b3dfcd6978b2198154fb8f61fb10ba0a5d7fbce;hpb=e371f97ebb6eaa268326bfc678013dfc96378918;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java index 9b3dfcd..0b52045 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java @@ -17,8 +17,10 @@ package net.pterodactylus.rhynodge.filters; -import static com.google.common.base.Preconditions.*; +import static com.google.common.base.Preconditions.checkArgument; +import java.net.URI; +import java.net.URISyntaxException; import java.util.List; import net.pterodactylus.rhynodge.Filter; @@ -58,9 +60,14 @@ public abstract class ComicSiteFilter implements Filter { int imageCounter = 0; for (String imageUrl : imageUrls) { String imageComment = (imageCounter < imageComments.size()) ? imageComments.get(imageCounter) : ""; - Strip strip = new Strip(imageUrl, imageComment); - imageCounter++; - comic.add(strip); + try { + URI stripUri = new URI(htmlState.uri()).resolve(imageUrl); + Strip strip = new Strip(stripUri.toString(), imageComment); + imageCounter++; + comic.add(strip); + } catch (URISyntaxException use1) { + throw new IllegalStateException(String.format("Could not resolve image URL “%s” against base URL “%s”.", imageUrl, htmlState.uri()), use1); + } } comicState.add(comic); }