public String getScraperDescription() { // first try to get the localized version String description = null; try { description = BUNDLE.getString("scraper." + scraper.getId() + ".hint"); //$NON-NLS-1$ } catch (Exception ignored) { } if (StringUtils.isBlank(description)) { // try to get a scraper text description = scraper.getDescription(); } return description; }
public IMediaProvider getMediaProvider() { return scraper.getMediaProvider(); } }
public MediaScraper getMediaScraperById(String providerId) { return MediaScraper.getMediaScraperById(providerId, ScraperType.TV_SHOW); }
public String getScraperName() { return scraper.getName() + " - " + scraper.getVersion(); }
startProgressBar(BUNDLE.getString("chooser.searchingfor") + " " + searchTerm); //$NON-NLS-1$ try { List<MediaScraper> sets = MediaScraper.getMediaScrapers(ScraperType.MOVIE_SET); if (sets != null && sets.size() > 0) { MediaScraper first = sets.get(0); // just get first IMovieSetMetadataProvider mp = (IMovieSetMetadataProvider) first.getMediaProvider();
public String getScraperId() { return scraper.getId(); }
for (int i = 0; i < list.getModel().getSize(); i++) { MediaScraper ms = list.getModel().getElementAt(i); ImageIcon logo = MediaScraperComboBox.this.getIcon(ms.getLogoURL()); maxWidth = Math.max(maxWidth, logo == null ? 0 : logo.getIconWidth()); if (!scraper.isEnabled()) { setEnabled(false); setBackground(Color.lightGray); ImageIcon logo = MediaScraperComboBox.this.getIcon(scraper.getLogoURL()); if (logo != null) { currentWidth = logo.getIconWidth(); setText(scraper.getMediaProvider().getProviderInfo().getName()); setFont(list.getFont()); setIconTextGap(maxWidth + 4 - currentWidth); // 4 = default iconTextGap
IMovieMetadataProvider provider; if (mediaScraper == null) { provider = (IMovieMetadataProvider) getDefaultMediaScraper().getMediaProvider(); provider = (IMovieMetadataProvider) mediaScraper.getMediaProvider(); if (!ms.isEnabled() || provider.getProviderInfo().equals(ms.getMediaProvider().getProviderInfo()) || ms.getMediaProvider().getProviderInfo().getName().startsWith("Kodi")) { continue; LOGGER.info("no result yet - trying alternate scraper: " + ms.getName()); try { LOGGER.info("====================================================="); 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);
public static MediaScraper getMediaScraperById(String id, ScraperType type) { if (StringUtils.isBlank(id)) { return null; } List<MediaScraper> scrapers = getMediaScrapers(type); for (MediaScraper scraper : scrapers) { if (scraper.id.equals(id)) { return scraper; } } return null; }
public MediaIdTable(EventList<MediaId> ids, ScraperType type) { this.idMap = null; this.editable = true; this.idList = ids; setModel(new DefaultEventTableModel<>(idList, new MediaIdTableFormat())); setTableHeader(null); putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); TableColumn column = getColumnModel().getColumn(0); Set<String> providerIds = new HashSet<>(); for (MediaId id : ids) { providerIds.add(id.key); } for (MediaScraper scraper : MediaScraper.getMediaScrapers(type)) { providerIds.add(scraper.getId()); } JComboBox<String> comboBox = new JComboBox<>(providerIds.toArray(new String[0])); column.setCellEditor(new DefaultCellEditor(comboBox)); }
/** * get the imdb id from thetvdb by a given tvdb id * * @param tvdbId * the tvdb id * @return the imdb id or an empty string */ public static String getImdbIdFromTvdbId(String tvdbId) { if (StringUtils.isBlank(tvdbId)) { return ""; } String imdbId = ""; try { MediaScraper scraper = MediaScraper.getMediaScraperById(MediaMetadata.TVDB, ScraperType.TV_SHOW); MediaScrapeOptions options = new MediaScrapeOptions(MediaType.TV_SHOW); options.setId(MediaMetadata.TVDB, tvdbId); MediaMetadata md = ((ITvShowMetadataProvider) scraper.getMediaProvider()).getMetadata(options); imdbId = (String) md.getId(MediaMetadata.IMDB); } catch (Exception e) { LOGGER.error("could not get IMDb ID from TheTVDB ID: " + e.getMessage()); } if (StringUtils.isBlank(imdbId)) { return ""; // do not pass null } return imdbId; }
MediaScraper defaultScraper = MediaScraper.getMediaScraperById(MovieModuleManager.MOVIE_SETTINGS.getMovieScraper(), ScraperType.MOVIE); cbMetadataScraper.setSelectedItem(defaultScraper); model.addElement(artworkScraper); if (MovieModuleManager.MOVIE_SETTINGS.getMovieArtworkScrapers().contains(artworkScraper.getId())) { model.addCheck(artworkScraper); model.addElement(trailerScraper); if (MovieModuleManager.MOVIE_SETTINGS.getMovieTrailerScrapers().contains(trailerScraper.getId())) { model.addCheck(trailerScraper);
try { if (!scraper.getName().startsWith("Kodi") && ids.isEmpty()) { continue; IMediaArtworkProvider artworkProvider = (IMediaArtworkProvider) scraper.getMediaProvider(); MediaScrapeOptions options = new MediaScrapeOptions(mediaType);
public boolean isKodiScraper() { return scraper.getName().startsWith("Kodi"); }
if (scraper.getMediaScraper().equals(defaultMediaScraper)) { scraper.defaultScraper = true; selectedIndex = i;
MediaScraper ms = new MediaScraper(type, p); scraper.add(ms); try { for (IMediaProvider p : kodi.getPluginsForType(MediaType.toMediaType(type.name()))) { MediaScraper ms = new MediaScraper(type, p); if (!Globals.isDonator()) { ms.enabled = false;
if (obj instanceof MediaScraper) { MediaScraper ms = (MediaScraper) obj; ImageIcon logo = getIcon(ms.getLogoURL()); maxWidth = Math.max(maxWidth, logo.getIconWidth()); MediaScraper scraper = (MediaScraper) value; int currentWidth = 0; ImageIcon logo = getIcon(scraper.getLogoURL()); if (logo != null) { currentWidth = logo.getIconWidth();
public String getScraperName() { return scraper.getName() + " - " + scraper.getVersion(); }
@Override public void actionPerformed(ActionEvent e) { // search for a tmdbId try { List<MediaScraper> sets = MediaScraper.getMediaScrapers(ScraperType.MOVIE_SET); if (sets != null && sets.size() > 0) { MediaScraper first = sets.get(0); // just get first IMovieSetMetadataProvider mp = (IMovieSetMetadataProvider) first.getMediaProvider(); for (Movie movie : moviesInSet) { MediaScrapeOptions options = new MediaScrapeOptions(MediaType.MOVIE); if (Utils.isValidImdbId(movie.getImdbId()) || movie.getTmdbId() > 0) { options.setTmdbId(movie.getTmdbId()); options.setImdbId(movie.getImdbId()); options.setLanguage(LocaleUtils.toLocale(MovieModuleManager.MOVIE_SETTINGS.getScraperLanguage().name())); options.setCountry(MovieModuleManager.MOVIE_SETTINGS.getCertificationCountry()); MediaMetadata md = mp.getMetadata(options); if ((int) md.getId(MediaMetadata.TMDB_SET) > 0) { tfTmdbId.setText(String.valueOf(md.getId(MediaMetadata.TMDB_SET))); break; } } } } } catch (Exception e1) { JOptionPane.showMessageDialog(null, BUNDLE.getString("movieset.tmdb.error")); //$NON-NLS-1$ } } }
public String getScraperId() { return scraper.getId(); }