Пример #1
0
  @Test
  public void testScanNFOWithPoster() {
    Movie movie = new Movie();
    filmwebPlugin.scanNFO(
        "txt\ntxt\nimg: http://gfx.filmweb.pl/po/18/54/381854/7131155.3.jpg - txt\ntxt", movie);
    assertEquals(Movie.UNKNOWN, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    filmwebPlugin.scanNFO(
        "txt\ntxt\nimg: http://gfx.filmweb.pl/po/18/54/381854/7131155.3.jpg - txt\nurl: http://www.filmweb.pl/f122684/4400,2004",
        movie);
    assertEquals(
        "http://www.filmweb.pl/f122684/4400,2004", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
  }
Пример #2
0
 @Test
 public void testScanNFOWithId() {
   Movie movie = new Movie();
   filmwebPlugin.scanNFO(
       "txt\ntxt\nfilmweb url: http://www.filmweb.pl/f122684/4400,2004 - txt\ntxt", movie);
   assertEquals(
       "http://www.filmweb.pl/f122684/4400,2004", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
 }
Пример #3
0
 @Test
 public void testUpdateMediaInfoYear() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Seksmisja");
   filmwebPlugin.setRequestResult("<span id=filmYear class=filmYear> (1983) </span>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("1983", movie.getYear());
 }
Пример #4
0
 @Test
 public void testUpdateMediaInfoRuntime() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/John.Rambo");
   filmwebPlugin.setRequestResult(
       "<div class=filmTime><i class=icon-small-clock></i> 1 godz. 32 min.</div>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("92", movie.getRuntime());
 }
Пример #5
0
 // @Test
 public void testUpdateMediaInfoTitle02() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/John.Rambo");
   filmwebPlugin.setRequestResult(
       "<title>John Rambo (2008) - Filmweb</title><meta property=\"og:title\" content=\"John Rambo / Rambo\">");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("John Rambo", movie.getTitle());
   assertEquals("Rambo", movie.getOriginalTitle());
 }
Пример #6
0
 @Test
 public void testUpdateMediaInfoTitle01() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Seksmisja");
   filmwebPlugin.setRequestResult("<title>Seksmisja (1984)  - Film - FILMWEB.pl</title>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("Seksmisja", movie.getTitle());
   assertEquals("Seksmisja", movie.getOriginalTitle());
 }
Пример #7
0
 @Test
 public void testUpdateMediaInfoCountry() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/John.Rambo");
   filmwebPlugin.setRequestResult(
       "<tr><th>produkcja:</th><td><a href=\"/search/film?countryIds=38\">Niemcy</a>, <a href=\"/search/film?countryIds=53\">USA</a></td></tr>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("Niemcy / USA", movie.getCountriesAsString());
 }
Пример #8
0
 @Test
 public void testUpdateMediaInfoGenre() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/John.Rambo");
   filmwebPlugin.setRequestResult(
       "<th>gatunek:</th><td><a href=\"/search/film?genreIds=26\">Wojenny</a>, <a href=\"/search/film?genreIds=28\">Akcja</a></td></tr><tr><th>premiera:</th>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals(Arrays.asList(new String[] {"Akcja"}).toString(), movie.getGenres().toString());
 }
Пример #9
0
 @Test
 public void testUpdateMediaInfoTop250() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Ojciec.Chrzestny");
   filmwebPlugin.setRequestResult(
       "<span class=worldRanking>2. <a href=\"/rankings/film/world#Ojciec chrzestny\">w rankingu światowym</a></span>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals(3, movie.getTop250());
 }
Пример #10
0
 @Test
 public void testUpdateMediaInfoReleaseDate() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/John.Rambo");
   filmwebPlugin.setRequestResult(
       "<span id =\"filmPremierePoland\" style=\"display:none\">2008-03-07</span><span style=\"display: none;\" id=\"filmPremiereWorld\">2008-01-23</span>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("2008-01-23", movie.getReleaseDate());
 }
Пример #11
0
 @Test
 public void testUpdateMediaInfoTitleWithOriginalTitle() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Ojciec.Chrzestny");
   filmwebPlugin.setRequestResult(
       "<title>Ojciec chrzestny (1972) - Filmweb</title><meta property=\"og:title\" content=\"Ojciec chrzestny / Godfather, The\">");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals("Ojciec chrzestny", movie.getTitle());
   assertEquals("The Godfather", movie.getOriginalTitle());
 }
Пример #12
0
 @Test
 public void testUpdateMediaInfoRating() {
   Movie movie = new Movie();
   movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Ojciec.Chrzestny");
   filmwebPlugin.setRequestResult(
       "<span class=\"filmRate\"><strong rel=\"v:rating\" property=\"v:average\"> 8,7</strong>/10</span>");
   filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   System.err.println(movie.getRating(FilmwebPlugin.FILMWEB_PLUGIN_ID));
   assertEquals(87, movie.getRating(FilmwebPlugin.FILMWEB_PLUGIN_ID));
 }
Пример #13
0
  @Test
  public void testScanNFO() {
    Movie movie = new Movie();
    filmwebPlugin.scanNFO("txt\ntxt\nfilmweb url: http://john.rambo.filmweb.pl - txt\ntxt", movie);
    assertEquals("http://john.rambo.filmweb.pl", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, Movie.UNKNOWN);
    filmwebPlugin.scanNFO("<url>http://john.rambo.filmweb.pl</url>", movie);
    assertEquals("http://john.rambo.filmweb.pl", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, Movie.UNKNOWN);
    filmwebPlugin.scanNFO("[url]http://john.rambo.filmweb.pl[/url]", movie);
    assertEquals("http://john.rambo.filmweb.pl", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, Movie.UNKNOWN);
    filmwebPlugin.scanNFO("http://www.filmweb.pl/f336379/Death+Sentence,2007", movie);
    assertEquals(
        "http://www.filmweb.pl/f336379/Death+Sentence,2007",
        movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, Movie.UNKNOWN);
    filmwebPlugin.scanNFO("http://4.pila.filmweb.pl\thttp://www.imdb.com/title/tt0890870/", movie);
    assertEquals("http://4.pila.filmweb.pl", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, Movie.UNKNOWN);
    filmwebPlugin.scanNFO("http://4.pila.filmweb.pl\nhttp://www.imdb.com/title/tt0890870/", movie);
    assertEquals("http://4.pila.filmweb.pl", movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
  }
Пример #14
0
  @Test
  public void testUpdateMediaInfoDirector() {
    Movie movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Avatar");
    filmwebPlugin.setRequestResult(null); // no offline test
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    LinkedHashSet<String> testDirectors = new LinkedHashSet<>();
    // These need to be in the same order as the web page
    testDirectors.add("James Cameron");

    assertEquals(
        Arrays.asList(testDirectors.toArray()).toString(),
        Arrays.asList(Arrays.copyOf(movie.getDirectors().toArray(), 1)).toString());
  }
Пример #15
0
  @Test
  public void testUpdateMediaInfoPlot02() {
    Movie movie = new Movie();
    int plotLength = PropertiesUtil.getIntProperty("movie.plot.maxLength", 500);
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/film/Agenci-2013-612342");
    filmwebPlugin.setRequestResult(
        "<div class=\"filmDescription comBox\">\n  \t<h2>\n  \t\t<a href=\"/Waleczne.Serce/descs\" class=\"hdrBig icoBig icoBigArticles\">\n  \t\t\t opisy filmu   \t\t</a>\t\t\n\t\t\t\t\t<span class=\"hdrAddInfo\">(10)</span>\n\t\t\t\t\n  \t\t  \t\t<a href=\"\t\t\t/Waleczne.Serce/contribute/descriptions\t\" class=\"add-button\" title=\"dodaj  opis filmu \" rel=\"nofollow\">  \t\t\t<span>dodaj  opis filmu </span>\n\n  \t\t</a>\n\t\t<span class=\"imgRepInNag\">Braveheart - Waleczne Serce</span>\n  \t</h2>\n\t\n\t\t\t\t\t   \t   \t\t<p class=\"cl\"><span class=\"filmDescrBg\" property=\"v:summary\">Pod koniec XIII wieku Szkocja dostaje się pod panowanie angielskiego króla, Edwarda I. Przejęcie władzy odbywa się w wyjątkowo krwawych okolicznościach. Jednym ze świadków gwałtów i morderstw jest kilkunastoletni chłopak, William Wallace. Po latach spędzonych pod opieką wuja dorosły William wraca do rodzinnej wioski. Jedną z pierwszych osób, które spotyka, jest Murron - przyjaciółka z lat dzieciństwa. Dawne uczucie przeradza się w wielką i szczerą miłość. Niestety wkrótce dziewczyna ginie z rąk<span> angielskich żołnierzy. Wydarzenie to staje się to momentem przełomowym w życiu młodego Szkota. William decyduje się bowiem na straceńczą walkę z okupantem i po brawurowym ataku zdobywa warownię wroga. Dzięki ogromnej odwadze zostaje wykreowany na przywódcę powstania przeciw angielskiej tyranii...</span> <a href=\"#\" class=\"see-more\">więcej </a></span></p>\n   \t\t  </div>");
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    assertEquals(
        StringTools.trimToLength(
            "Agent wydziału do walki z przemytem narkotyków i oficer wywiadu marynarki są w sytuacji bez wyjścia. Kradną pieniądze gangsterów i zamierzają je przekazać na dobre cele. Okazuje się jednak, że w rzeczywistości ukradli pieniądze CIA, a zleceniodawcami są mafiosi.",
            plotLength),
        movie.getPlot());
  }
Пример #16
0
  @Test
  public void testUpdateMediaInfoOutline() {
    Movie movie = new Movie();
    int outlineLength = PropertiesUtil.getIntProperty("movie.outline.maxLength", 500);
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Seksmisja");
    filmwebPlugin.setRequestResult(
        "<span class=imgRepInNag>Seksmisja</span></h2><p class=cl><span class=filmDescrBg property=\"v:summary\">9 sierpnia 1991 roku telewizja transmituje epokowy eksperyment: dwóch śmiałków - Maks (Jerzy Stuhr) i Albert (Olgierd Łukaszewicz), zostaje poddanych hibernacji. Podczas ich snu wybucha wojna nuklearna. Uczestnicy eksperymentu budzą się w 2044 roku. Od opiekującej się nimi doktor Lamii dowiadują się, że w ciągu ostatnich kilkudziesięciu lat geny męskie zostały całkowicie zniszczone promieniowaniem, a oni są prawdopodobnie jedynymi osobnikami płci męskiej, którzy przetrwali kataklizm. Niezwykła<span> społeczność kobiet, w jakiej znaleźli się bohaterowie, egzystuje w całkowicie sztucznych warunkach, głęboko pod powierzchnią ziemi. Władzę dyktatorską pełni tu Jej Ekscelencja, która darzy męskich osobników szczególnym zainteresowaniem. Maks i Albert znajdują się pod stałą obserwacją i ścisłą kontrolą. Takie życie na dłuższą metę wydaje im się jednak niemożliwe. Zdesperowani postanawiają więc uciec. </span> <a href=\"#\" class=see-more>więcej </a></span>");
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    assertEquals(
        StringTools.trimToLength(
            "9 sierpnia 1991 roku telewizja transmituje epokowy eksperyment: dwóch śmiałków - Maks (Jerzy Stuhr) i Albert (Olgierd Łukaszewicz), zostaje poddanych hibernacji. Podczas ich snu wybucha wojna nuklearna. Uczestnicy eksperymentu budzą się w 2044 roku. Od opiekującej się nimi doktor Lamii dowiadują się, że w ciągu ostatnich kilkudziesięciu lat geny męskie zostały całkowicie zniszczone promieniowaniem, a oni są prawdopodobnie jedynymi osobnikami płci męskiej, którzy przetrwali kataklizm. Niezwykła<span> społeczność kobiet, w jakiej znaleźli się bohaterowie, egzystuje w całkowicie sztucznych warunkach, głęboko pod powierzchnią ziemi. Władzę dyktatorską pełni tu Jej Ekscelencja, która darzy męskich osobników szczególnym zainteresowaniem. Maks i Albert znajdują się pod stałą obserwacją i ścisłą kontrolą. Takie życie na dłuższą metę wydaje im się jednak niemożliwe. Zdesperowani postanawiają więc uciec. ",
            outlineLength),
        movie.getOutline());
  }
Пример #17
0
  @Test
  public void testUpdateMediaInfoCast02() {
    Movie movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/film/Agenci-2013-612342");
    filmwebPlugin.setRequestResult(null); // no offline test
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    LinkedHashSet<String> testCast = new LinkedHashSet<>();
    // These need to be in the same order as the web page
    testCast.add("Denzel Washington");
    testCast.add("Mark Wahlberg");

    assertEquals(
        Arrays.asList(testCast.toArray()).toString(),
        Arrays.asList(Arrays.copyOf(movie.getCast().toArray(), 2)).toString());
  }
Пример #18
0
  @Test
  public void testUpdateMediaInfoCast01() {
    Movie movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Avatar");
    filmwebPlugin.setRequestResult(null); // no offline test
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    LinkedHashSet<String> testCast = new LinkedHashSet<>();
    // These need to be in the same order as the web page
    testCast.add("Sam Worthington");
    testCast.add("Zoe Saldana");

    assertEquals(
        Arrays.asList(testCast.toArray()).toString(),
        Arrays.asList(Arrays.copyOf(movie.getCast().toArray(), 2)).toString());
  }
Пример #19
0
  @Test
  public void testUpdateMediaInfoWriters() {
    Movie movie = new Movie();
    movie.setId(
        FilmwebPlugin.FILMWEB_PLUGIN_ID,
        "http://www.filmweb.pl/film/Stra%C5%BCnicy+Galaktyki-2014-594357");
    filmwebPlugin.setRequestResult(null); // no offline test
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    LinkedHashSet<String> testWriters = new LinkedHashSet<>();
    // These need to be in the same order as the web page
    testWriters.add("James Gunn");

    assertEquals(
        Arrays.asList(testWriters.toArray()).toString(),
        Arrays.asList(Arrays.copyOf(movie.getWriters().toArray(), 1)).toString());
  }
Пример #20
0
  @Override
  public boolean scan(Movie mediaFile) {
    boolean result;

    result = super.scan(mediaFile); // use IMDB as basis
    if (!result && mediaFile.isTVShow()) {
      result = tvdb.scan(mediaFile);
    }

    // check if title or plot should be retrieved
    if (OverrideTools.checkOneOverwrite(
        mediaFile, FILMKAT_PLUGIN_ID, OverrideFlag.TITLE, OverrideFlag.PLOT)) {
      LOG.info("Id found in nfo = {}", mediaFile.getId(FilmKatalogusPlugin.FILMKAT_PLUGIN_ID));
      getHunPlot(mediaFile);
    }

    return result;
  }
Пример #21
0
  @Override
  public boolean scanNFO(String nfo, Movie movie) {
    super.scanNFO(nfo, movie); // use IMDB as basis

    boolean result = false;
    int beginIndex = nfo.indexOf("filmkatalogus.hu/");
    if (beginIndex != -1) {
      beginIndex = nfo.indexOf("--f", beginIndex);
      if (beginIndex != -1) {
        StringTokenizer filmKatID =
            new StringTokenizer(nfo.substring(beginIndex + 3), "/ \n,:!&é\"'(--è_çà)=$<>");
        movie.setId(FilmKatalogusPlugin.FILMKAT_PLUGIN_ID, filmKatID.nextToken());
        LOG.debug("ID found in NFO = {}", movie.getId(FilmKatalogusPlugin.FILMKAT_PLUGIN_ID));
        result = true;
      }
    }
    return result;
  }
Пример #22
0
  @Test
  public void testUpdateMediaInfoUpdateTVShowInfo() {
    Movie movie = new Movie();
    movie.setId(FilmwebPlugin.FILMWEB_PLUGIN_ID, "http://www.filmweb.pl/Prison.Break");
    movie.setMovieType(Movie.TYPE_TVSHOW);
    MovieFile episode = new MovieFile();
    episode.setSeason(4);
    episode.setPart(1);
    movie.addMovieFile(episode);
    episode = new MovieFile();
    episode.setSeason(4);
    episode.setPart(2);
    movie.addMovieFile(episode);
    filmwebPlugin.setRequestResult(
        "<h3>sezon 4</h3>\n   \t\t\t\t\t\t\t\t<a href=\"#\" class=\"seasonWatched common-button-third\" style=\"display:none\">\n\n   \t\t\t\t\t\t\t\t\t<span class=\"lBtbL\"></span>\n                                       <span class=\"lBtbR\"></span>\n                                       <span>Oglądałem</span>\n   \t\t\t\t\t\t\t\t</a>\n               \t\t\t\t</th>\n       \t\t\t\t\t</tr>\n               \t\t\t               \t\t\t\t   \t<tr>\n   \t\t<td>\n\n   \t\t\t   \t\t\t\todcinek&nbsp;1\n   \t\t\t   \t\t\t   \t\t</td>\n   \t\t<td>\n   \t\t\t   \t\t\t   \t\t\t\t   \t\t\t\t\t   \t\t\t\t\t   \t\t\t\t\t<div>\t\t\t\t\t\t\t\t\t\t1 września\t\t\t\t\t\t\t2008\n\t<br><span class=\"countryName\">(USA)</span></div>\n   \t\t\t\t   \t\t\t   \t\t</td>\n   \t\t<td>\n   \t\t\t   \t\t\t\tScylla\n   \t\t\t   \t\t</td>\n\n   \t\t   \t\t   \t\t   \t</tr>\n               \t\t\t               \t\t\t\t   \t<tr>\n   \t\t<td>\n   \t\t\t   \t\t\t\todcinek&nbsp;2\n   \t\t\t   \t\t\t   \t\t</td>\n   \t\t<td>\n   \t\t\t   \t\t\t   \t\t\t\t   \t\t\t\t\t   \t\t\t\t\t   \t\t\t\t\t<div>\t\t\t\t\t\t\t\t\t\t1 września\t\t\t\t\t\t\t2008\n\t<br><span class=\"countryName\">(USA)</span></div>\n\n   \t\t\t\t   \t\t\t   \t\t</td>\n   \t\t<td>\n   \t\t\t   \t\t\t\tBreaking and Entering\n   \t\t\t   \t\t</td>\n   \t\t   \t\t   \t\t   \t</tr>");
    filmwebPlugin.updateMediaInfo(movie, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));

    Iterator<MovieFile> episodesIt = movie.getFiles().iterator();
    assertEquals("Scylla", episodesIt.next().getTitle());
    assertEquals("Breaking and Entering", episodesIt.next().getTitle());
  }
Пример #23
0
  private void getHunPlot(Movie movie) {
    String filmKatURL = "http://filmkatalogus.hu";

    try {

      if (StringTools.isNotValidString(movie.getId(FILMKAT_PLUGIN_ID))) {

        LOG.debug("Movie title for filmkatalogus search = {}", movie.getTitle());
        HttpClient httpClient = new DefaultHttpClient();
        // httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);
        httpClient
            .getParams()
            .setParameter(
                "http.useragent",
                "Mozilla/5.25 Netscape/5.0 (Windows; I; Win95)"); // User-Agent header should be
                                                                  // overwrittem with somehting
                                                                  // Apache is not accepted by
                                                                  // filmkatalogus.hu

        if (mjbProxyHost != null) {
          HttpHost proxy = new HttpHost(mjbProxyHost, Integer.parseInt(mjbProxyPort));
          httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
        }

        HttpPost httppost = new HttpPost("http://www.filmkatalogus.hu/kereses");

        List<NameValuePair> nameValuePairs = new ArrayList<>();
        nameValuePairs.add(new BasicNameValuePair("gyorskeres", "0"));
        nameValuePairs.add(new BasicNameValuePair("keres0", "1"));
        nameValuePairs.add(new BasicNameValuePair("szo0", movie.getTitle()));

        httppost.addHeader("Content-type", "application/x-www-form-urlencoded");
        httppost.addHeader("Accept", "text/plain");

        try {
          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "ISO-8859-2"));
        } catch (UnsupportedEncodingException ex) {
          // writing error to Log
          LOG.error(SystemTools.getStackTrace(ex));
          return;
        }

        try {
          HttpResponse response = httpClient.execute(httppost);

          switch (response.getStatusLine().getStatusCode()) {
            case 302:
              filmKatURL = filmKatURL.concat(response.getHeaders("location")[0].getValue());
              LOG.debug("FilmkatalogusURL = {}", filmKatURL);
              break;

            case 200:
              HttpEntity body = response.getEntity();
              if (body == null) {
                return;
              }

              String xml = EntityUtils.toString(body);

              int beginIndex = xml.indexOf("Találat(ok) filmek között");
              if (beginIndex != -1) { // more then one entry found use the first one
                beginIndex = xml.indexOf("HREF='/", beginIndex);
                int endIndex = xml.indexOf("TITLE", beginIndex);
                filmKatURL = "http://filmkatalogus.hu";
                filmKatURL = filmKatURL.concat(xml.substring((beginIndex + 6), endIndex - 2));
                LOG.debug("FilmkatalogusURL = {}", filmKatURL);
              } else {
                return;
              }

              break;

            default:
              return;
          }

        } catch (ClientProtocolException ex) {
          // writing exception to log
          LOG.error(SystemTools.getStackTrace(ex));
          return;
        } catch (IOException ex) {
          // writing exception to log
          LOG.error(SystemTools.getStackTrace(ex));
          return;
        }
      } else {
        filmKatURL = "http://filmkatalogus.hu/f";
        filmKatURL = filmKatURL.concat(movie.getId(FilmKatalogusPlugin.FILMKAT_PLUGIN_ID));
        LOG.debug("FilmkatalogusURL = {}", filmKatURL);
      }

      String xml = webBrowser.request(filmKatURL);

      // name
      int beginIndex = xml.indexOf("<H1>");
      if (beginIndex > 0) { // exact match is found
        if (OverrideTools.checkOverwriteTitle(movie, FILMKAT_PLUGIN_ID)) {
          int endIndex = xml.indexOf("</H1>", beginIndex);
          movie.setTitle(xml.substring((beginIndex + 4), endIndex), FILMKAT_PLUGIN_ID);
          LOG.trace("Title: {}", movie.getTitle());
        }

        // PLOT
        if (OverrideTools.checkOverwritePlot(movie, FILMKAT_PLUGIN_ID)) {
          beginIndex = xml.indexOf("<DIV ALIGN=JUSTIFY>", beginIndex);
          if (beginIndex > 0) {
            int endIndex = xml.indexOf("</DIV>", beginIndex);
            String plot = xml.substring((beginIndex + 19), endIndex);
            movie.setPlot(plot, FILMKAT_PLUGIN_ID);
            LOG.trace("Plot: {}", movie.getPlot());
          }
        }
      }
    } catch (NumberFormatException | ParseException | IOException error) {
      LOG.error("Failed retreiving information for {}", movie.getTitle());
      LOG.error(SystemTools.getStackTrace(error));
    }
  }
Пример #24
0
 @Test
 public void testScanNFONoUrl() {
   Movie movie = new Movie();
   filmwebPlugin.scanNFO("", movie);
   assertEquals(Movie.UNKNOWN, movie.getId(FilmwebPlugin.FILMWEB_PLUGIN_ID));
 }