diff --git a/source/net/filebot/ThumbnailServices.java b/source/net/filebot/ThumbnailServices.java index f7241bd2..f06fabdd 100644 --- a/source/net/filebot/ThumbnailServices.java +++ b/source/net/filebot/ThumbnailServices.java @@ -33,7 +33,7 @@ import net.filebot.web.ThumbnailProvider; public enum ThumbnailServices implements ThumbnailProvider { - TheTVDB, TheMovieDB; + TheTVDB, TheMovieDB, AniDB; protected String getResource(String file) { return "https://api.filebot.net/images/" + name().toLowerCase() + "/thumb/poster/" + file; diff --git a/source/net/filebot/WebServices.java b/source/net/filebot/WebServices.java index b39ba1cc..b1417923 100644 --- a/source/net/filebot/WebServices.java +++ b/source/net/filebot/WebServices.java @@ -28,11 +28,13 @@ import net.filebot.media.LocalDatasource; import net.filebot.similarity.MetricAvg; import net.filebot.web.AcoustIDClient; import net.filebot.web.AnidbClient; +import net.filebot.web.Artwork; import net.filebot.web.Datasource; import net.filebot.web.EpisodeListProvider; import net.filebot.web.FanartTVClient; import net.filebot.web.ID3Lookup; import net.filebot.web.LocalSearch; +import net.filebot.web.Manami; import net.filebot.web.Movie; import net.filebot.web.MovieIdentificationService; import net.filebot.web.MusicIdentificationService; @@ -240,7 +242,7 @@ public final class WebServices { } } - public static class AnidbClientWithLocalSearch extends AnidbClient { + public static class AnidbClientWithLocalSearch extends AnidbClient implements ThumbnailProvider { public AnidbClientWithLocalSearch(String client, int clientver) { super(client, clientver); @@ -250,6 +252,16 @@ public final class WebServices { public SearchResult[] getAnimeTitles() throws Exception { return releaseInfo.getAnidbIndex(); } + + @Override + public List getArtwork(int id, String category, Locale locale) throws Exception { + return Manami.AniDB.getArtwork(id, category, locale); + } + + @Override + public Map getThumbnails(List keys, ResolutionVariant variant) throws Exception { + return ThumbnailServices.AniDB.getThumbnails(keys, variant); + } } public static class OpenSubtitlesClientWithLocalSearch extends OpenSubtitlesClient { diff --git a/source/net/filebot/web/Manami.java b/source/net/filebot/web/Manami.java index 7b0a7291..0d33ce71 100644 --- a/source/net/filebot/web/Manami.java +++ b/source/net/filebot/web/Manami.java @@ -5,6 +5,7 @@ import static java.util.stream.Collectors.*; import static net.filebot.CachedResource.*; import static net.filebot.util.JsonUtilities.*; +import java.net.URI; import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -34,9 +35,9 @@ public enum Manami implements ArtworkProvider { public List getArtwork(int id, String category, Locale locale) throws Exception { List artwork = new ArrayList(1); - Optional picture = getRecord(id).map(r -> getString(r, "picture")).filter(r -> r.endsWith(".jpg")); + Optional picture = getRecord(id).map(r -> getStringValue(r, "picture", URI::create)).filter(r -> r.getPath().endsWith(".jpg")); if (picture.isPresent()) { - artwork.add(new Artwork(Stream.of("picture"), new URL(picture.get()), null, null)); + artwork.add(new Artwork(Stream.of("picture"), picture.get().toURL(), null, null)); } return artwork; diff --git a/source/net/filebot/web/ThumbnailProvider.java b/source/net/filebot/web/ThumbnailProvider.java index fa42e5dd..836745c8 100644 --- a/source/net/filebot/web/ThumbnailProvider.java +++ b/source/net/filebot/web/ThumbnailProvider.java @@ -10,7 +10,7 @@ public interface ThumbnailProvider { Map getThumbnails(List keys, ResolutionVariant variant) throws Exception; - enum ResolutionVariant { + public static enum ResolutionVariant { NORMAL(1), RETINA(2);