@Override public MediaMetadata getMetadata(MediaScrapeOptions options) throws Exception { LOGGER.debug("getMetadata() " + options.toString()); switch (options.getType()) { case MOVIE: return (new ImdbMovieParser(imdbSite)).getMovieMetadata(options); case TV_SHOW: return (new ImdbTvShowParser(imdbSite)).getTvShowMetadata(options); case TV_EPISODE: return (new ImdbTvShowParser(imdbSite)).getEpisodeMetadata(options); default: throw new UnsupportedMediaTypeException(options.getType()); } }
@Override public List<MediaEpisode> getEpisodeList(MediaScrapeOptions options) throws Exception { LOGGER.debug("getEpisodeList() " + options.toString()); return new ImdbTvShowParser(imdbSite).getEpisodeList(options); }
@Override protected MediaMetadata getMetadata(MediaScrapeOptions options) throws Exception { switch (options.getType()) { case TV_SHOW: return getTvShowMetadata(options); case TV_EPISODE: return getEpisodeMetadata(options); default: break; } return new MediaMetadata(providerInfo.getId()); }
url.addHeader("Accept-Language", getAcceptLanguage(options.getLanguage().getLanguage(), options.getCountry().getAlpha2())); Document doc = Jsoup.parse(url.getInputStream(), imdbSite.getCharset().displayName(), ""); parseReferencePage(doc, options, md); url.addHeader("Accept-Language", getAcceptLanguage(options.getLanguage().getLanguage(), options.getCountry().getAlpha2())); doc = Jsoup.parse(url.getInputStream(), imdbSite.getCharset().displayName(), ""); parsePlotsummaryPage(doc, options, md);
@Override public List<MediaSearchResult> search(MediaSearchOptions query) throws Exception { LOGGER.debug("search() " + query.toString()); switch (query.getMediaType()) { case MOVIE: return (new ImdbMovieParser(imdbSite)).search(query); case TV_SHOW: return (new ImdbTvShowParser(imdbSite)).search(query); default: throw new UnsupportedMediaTypeException(query.getMediaType()); } }
url.addHeader("Accept-Language", getAcceptLanguage(options.getLanguage().getLanguage(), options.getCountry().getAlpha2())); Document doc = Jsoup.parse(url.getInputStream(), imdbSite.getCharset().displayName(), ""); parseEpisodeList(0, episodes, doc); try { url = new CachedUrl(imdbSite.getSite() + "/title/" + imdbId + "/epdate?season=" + i); url.addHeader("Accept-Language", getAcceptLanguage(options.getLanguage().getLanguage(), options.getCountry().getAlpha2())); doc = Jsoup.parse(url.getInputStream(), imdbSite.getCharset().displayName(), ""); if (!parseEpisodeList(i, episodes, doc)) { break;
List<MediaEpisode> episodes = getEpisodeList(options); Elements tr = castTableElement.getElementsByTag("tr"); for (Element row : tr) { MediaCastMember cm = parseCastMember(row); if (cm != null && StringUtils.isNotEmpty(cm.getName()) && StringUtils.isNotEmpty(cm.getCharacter())) { cm.setType(MediaCastMember.CastType.ACTOR);