LOGGER.debug("search() " + query.toString()); if (query.getMediaType() != MediaType.TV_SHOW) { throw new Exception("wrong media type for this scraper"); if (StringUtils.isEmpty(searchString) && StringUtils.isNotEmpty(query.getQuery())) { searchString = query.getQuery(); String language = query.getLanguage().getLanguage(); if (StringUtils.isNotBlank(query.getLanguage().getCountry())) { language += "-" + query.getLanguage().getCountry();
@Override public List<MediaSearchResult> search(MediaSearchOptions options) throws Exception { List<MediaSearchResult> results = _search(options); if (results.isEmpty() && options.getYear() > 0) { // nothing found, try w/o year LOGGER.info("Search found nothing, try again without year..."); options.setYear(0); results = _search(options); } return results; }
@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()); } }
LOGGER.debug("search() " + query.toString()); if (query.getMediaType() != MediaType.MOVIE) { throw new Exception("wrong media type for this scraper"); if (StringUtils.isEmpty(searchString) && StringUtils.isNotEmpty(query.getQuery())) { searchString = query.getQuery(); if (query.getYear() != 0) { year = query.getYear(); String language = query.getLanguage().getLanguage(); if (StringUtils.isNotBlank(query.getLanguage().getCountry())) { language += "-" + query.getLanguage().getCountry(); synchronized (api) { if (query.getTmdbId() != 0) { tmdbId = query.getTmdbId(); try { if (resultList.size() == 0 && StringUtils.isNotEmpty(query.getImdbId())) { imdbId = query.getImdbId(); try {
if (StringUtils.isNotEmpty(query.getImdbId())) { searchTerm = query.getImdbId(); searchTerm = query.getQuery(); String language = query.getLanguage().getLanguage(); int myear = query.getYear(); String country = query.getCountry().getAlpha2(); // for passing the country to the scrape MediaScrapeOptions options = new MediaScrapeOptions(type); options.setImdbId(movieId); options.setLanguage(query.getLanguage()); options.setCountry(CountryCode.valueOf(country)); md = getMetadata(options); MediaSearchResult sr = new MediaSearchResult(ImdbMetadataProvider.providerInfo.getId(), query.getMediaType()); sr.setTitle(movieName); sr.setIMDBId(movieId); MediaSearchResult sr = new MediaSearchResult(ImdbMetadataProvider.providerInfo.getId(), query.getMediaType()); sr.setTitle(movieName); sr.setIMDBId(movieId); sr.setPosterUrl(posterUrl); if (movieId.equals(query.getImdbId())) {
@Override public List<MediaSearchResult> search(MediaSearchOptions options) throws Exception { LOGGER.debug("search() " + options.toString()); if (options.getMediaType() != MediaType.TV_SHOW) { throw new UnsupportedMediaTypeException(options.getMediaType()); if (StringUtils.isNotEmpty(options.getQuery())) { searchString = options.getQuery();
if ((movie.title.equals(movie.original_title) && !movie.original_language.equals(query.getLanguage().getLanguage())) && !query.getLanguage().equals(fallbackLanguage)) { FindResults findResults = api.findService().find(query.getImdbId(), null, lang).execute().body(); .movie(query.getQuery(), 1, lang, providerInfo.getConfig().getValueAsBool("includeAdult"), query.getYear() != 0 ? query.getYear() : null, query.getYear() != 0 ? query.getYear() : null, "phrase") .execute().body(); && !originalMovie.original_language.equals(query.getLanguage().getLanguage()) && !StringUtils.isBlank(fallbackMovie.title)) { LOGGER.debug(String.format("Fallback: Movie Replaced ([%-32.32s] -> [%-32.32s])", originalMovie.title, fallbackMovie.title)); resultList.add(morphMovieToSearchResult(fallbackMovie));
String arg = options.getQuery(); String title = args[0]; int year = 0; if (options.getYear() != 0) { year = options.getYear(); KodiUrl u = new KodiUrl((Element) urlList.item(0)); MediaSearchResult sr = new MediaSearchResult(scraper.getProviderInfo().getId(), options.getMediaType()); String id = DOMUtils.getElementValue(el, "id"); sr.setId(id);
LOGGER.debug("search() " + query.toString()); if (StringUtils.isEmpty(searchString) && StringUtils.isNotEmpty(query.getQuery())) { searchString = query.getQuery(); String language = query.getLanguage().getLanguage(); if (StringUtils.isNotBlank(query.getLanguage().getCountry())) { language += "-" + query.getLanguage().getCountry();
MediaSearchOptions options = new MediaSearchOptions(MediaType.TV_SHOW, searchTerm); options.setLanguage(LocaleUtils.toLocale(language.name())); options.setCountry(TvShowModuleManager.SETTINGS.getCertificationCountry()); if (show != null) { if (Utils.isValidImdbId(show.getImdbId())) { options.setImdbId(show.getImdbId()); options.setQuery(show.getTitle()); if (!show.getYear().isEmpty()) { try { options.setYear(Integer.parseInt(show.getYear())); LOGGER.info(options.toString()); LOGGER.info("====================================================="); searchResult = provider.search(options);
@Override public List<MediaSearchResult> search(MediaSearchOptions query) throws Exception { LOGGER.debug("search() " + query.toString()); List<MediaSearchResult> mediaResult = new ArrayList<>(); LOGGER.info("========= BEGIN OMDB Scraper Search for Movie: " + query.getQuery()); if (API_KEY.equals(apiKey)) { OmdbConnectionCounter.trackConnections(); resultList = controller.getMovieSearchInfo(apiKey, query.getQuery(), "movie", null);
if (tvShow.name.equals(tvShow.original_name) && !tvShow.original_language.equals(query.getLanguage().getLanguage()) && !query.getLanguage().equals(fallbackLanguage)) { LOGGER.debug("Fallback: Title Inconsistency Found. Bypassing default functionality and Initiating Fallback Mechanism."); String lang = MediaLanguages.get(providerInfo.getConfig().getValue("titleFallbackLanguage")).name().replace("_", "-"); TvShowResultsPage fallbackResultsPage = api.searchService().tv(query.getQuery(), 1, lang, null, "phrase").execute().body(); && !originalTvShow.original_language.equals(query.getLanguage().getLanguage()) && !StringUtils.isBlank(fallbackTvShow.name)) { LOGGER .debug(String.format("Fallback: TV Show Replaced ([%-32.32s] -> [%-32.32s])", originalTvShow.name, fallbackTvShow.name));
@Override public List<MediaSearchResult> search(MediaSearchOptions query) throws Exception { // init API - lazy loading initRottenTomatoesApiInstance(); // check type if (query.getMediaType() == MediaType.MOVIE) { return searchMovies(query); } throw new UnsupportedMediaTypeException(query.getMediaType()); }
private MediaSearchResult morphTvShowToSearchResult(BaseTvShow tvShow, MediaSearchOptions query) { MediaSearchResult result = new MediaSearchResult(TmdbMetadataProvider.providerInfo.getId(), MediaType.TV_SHOW); result.setId(Integer.toString(tvShow.id)); result.setTitle(tvShow.name); result.setOriginalTitle(tvShow.original_name); result.setPosterUrl(TmdbMetadataProvider.configuration.images.base_url + "w342" + tvShow.poster_path); // parse release date to year if (tvShow.first_air_date != null) { Calendar calendar = Calendar.getInstance(); calendar.setTime(tvShow.first_air_date); result.setYear(calendar.get(Calendar.YEAR)); } // calculate score result.setScore(MetadataUtil.calculateScore(query.getQuery(), result.getTitle())); return result; }
if ((movie.title.equals(movie.original_title) && !movie.original_language.equals(query.getLanguage().getLanguage())) && !query.getLanguage().equals(fallbackLanguage)) { try { String lang = MediaLanguages.get(providerInfo.getConfig().getValue("titleFallbackLanguage")).name().replace("_", "-");
MediaSearchOptions options = new MediaSearchOptions(MediaType.MOVIE); options.setLanguage(LocaleUtils.toLocale(langu.name())); options.setCountry(movieSettings.getCertificationCountry()); if (movie != null) { if (Utils.isValidImdbId(movie.getImdbId())) { options.setImdbId(movie.getImdbId()); idFound = true; options.setTmdbId(movie.getTmdbId()); idFound = true; options.setQuery(movie.getTitle()); if (!movie.getYear().isEmpty()) { try { options.setYear(Integer.parseInt(movie.getYear())); options.setQuery(searchTerm); options.setQuery(searchTerm); LOGGER.info(options.toString()); LOGGER.info("====================================================="); sr = provider.search(options); LOGGER.info("Searching with alternate scraper: " + ms.getMediaProvider().getProviderInfo().getId() + ", " + provider.getProviderInfo().getVersion()); LOGGER.info(options.toString()); LOGGER.info("====================================================="); sr = ((IMovieMetadataProvider) ms.getMediaProvider()).search(options);
@Override public List<MediaSearchResult> search(MediaSearchOptions options) throws Exception { // lazy initialization of the api initAPI(); switch (options.getMediaType()) { case MOVIE: return new TraktMovieMetadataProvider(api).search(options); case TV_SHOW: return new TraktTVShowMetadataProvider(api).search(options); default: throw new UnsupportedMediaTypeException(options.getMediaType()); } }
CollectionResultsPage fallBackResultsPage = api.searchService().collection(query.getQuery(), 1, lang).execute().body(); if (MetadataUtil.calculateScore(query.getQuery(), originalCollection.name) >= MetadataUtil.calculateScore(query.getQuery(), fallbackCollection.name)) { searchResult.setTitle(originalCollection.name); searchResult.setPosterUrl(TmdbMetadataProvider.configuration.images.base_url + "w342" + originalCollection.poster_path); searchResult.setScore(MetadataUtil.calculateScore(query.getQuery(), originalCollection.name)); searchResult.setScore(MetadataUtil.calculateScore(query.getQuery(), fallbackCollection.name));
LOGGER.debug("SearchTitleWithGoogle() " + options.toString()); List<MediaSearchResult> resultList = new ArrayList<>(); if (StringUtils.isNotEmpty(options.getQuery())) { if (!site.startsWith("http")) { site = "http://" + site; searchTerm = options.getQuery(); String lang = options.getLanguage().getLanguage(); searchUrl = "https://www.google." + lang + "/search?q=" + URLEncoder.encode("site:" + site + " " + searchTerm, "UTF-8"); LOGGER.debug("search for : " + searchTerm + " (" + searchUrl + ")"); for (Element el : res) { Element a = el.getElementsByTag("a").first(); MediaSearchResult sr = new MediaSearchResult(mpi.getId(), options.getMediaType()); String gurl = a.attr("href"); if (gurl.contains("url?q=")) {
@Override public List<MediaSearchResult> search(MediaSearchOptions query) throws Exception { // lazy initialization of the api initAPI(); List<MediaSearchResult> searchResults; switch (query.getMediaType()) { case MOVIE: searchResults = new TmdbMovieMetadataProvider(api).search(query); break; case MOVIE_SET: searchResults = new TmdbMovieSetMetadataProvider(api).search(query); break; case TV_SHOW: searchResults = new TmdbTvShowMetadataProvider(api).search(query); break; default: throw new UnsupportedMediaTypeException(query.getMediaType()); } Collections.sort(searchResults); Collections.reverse(searchResults); return searchResults; }