From 5d0438401d4c43064cc67f8f8ba2bbc30eea727f Mon Sep 17 00:00:00 2001 From: mavlonerkinboev Date: Sat, 21 Aug 2021 10:24:56 +0500 Subject: Added logger --- .../mavlonerkinboev/animarfo/parser/Parser.java | 36 ++++++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'src/main/java/com/mavlonerkinboev/animarfo/parser/Parser.java') diff --git a/src/main/java/com/mavlonerkinboev/animarfo/parser/Parser.java b/src/main/java/com/mavlonerkinboev/animarfo/parser/Parser.java index ab4f948..c621f4f 100644 --- a/src/main/java/com/mavlonerkinboev/animarfo/parser/Parser.java +++ b/src/main/java/com/mavlonerkinboev/animarfo/parser/Parser.java @@ -10,20 +10,31 @@ import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.Objects; +import java.util.logging.Level; +import java.util.logging.Logger; public class Parser { + private static final Logger LOGGER = Logger.getLogger(Parser.class.getName()); + + static { + LOGGER.setLevel(Level.ALL); + } + public static Document getPage(String url) throws IOException { return Jsoup.parse(new URL(url), 5000); } public static byte getSizeOfSearchedAnime(String page) throws IOException { + LOGGER.info("Getting size of searched anime"); Element animeList = Parser.getPage(page).select("div[id=dle-content]").first(); if (animeList == null) return 0; Elements anime = animeList.select("div[class=th-item]"); + LOGGER.fine("Got size of searched anime"); return (byte) anime.size(); } public static Anime[] getAnime(String page) throws IOException { + LOGGER.info("Parsing an anime"); String typeOfAnime = Anime.type; Element animeList = Parser.getPage(page).select("div[id=dle-content]").first(); @@ -40,6 +51,7 @@ public class Parser { Elements ratingsTemp = animeList.select("div[class=th-rating]"); Elements imagesTemp = animeList.select("div[class=th-img img-resp-vert img-fit]"); Elements urlsTemp = animeList.select("div[class=th-itemb]").select("a[class=th-in]"); + LOGGER.fine("Got all required data"); byte countOfAnime = (byte) namesTemp.size(); Anime.size = countOfAnime; @@ -72,14 +84,16 @@ public class Parser { } ArrayList genres = new ArrayList<>(); - for (Element oneGenres : genresTemp) { - Element genre = oneGenres.child(2); - String text = Jsoup.parse(String.valueOf(genre)).text(); - int start = 6; - int end = text.length(); - char[] dst = new char[end - start]; - text.getChars(start, end, dst, 0); - genres.add(String.valueOf(dst)); + if (!Anime.isSearching) { + for (Element oneGenres : genresTemp) { + Element genre = oneGenres.child(2); + String text = Jsoup.parse(String.valueOf(genre)).text(); + int start = 6; + int end = text.length(); + char[] dst = new char[end - start]; + text.getChars(start, end, dst, 0); + genres.add(String.valueOf(dst)); + } } ArrayList series = new ArrayList<>(); @@ -119,16 +133,18 @@ public class Parser { urls.add(String.valueOf(dst)); } + LOGGER.fine("Sorted all data"); + Anime[] anime = new Anime[countOfAnime]; for (int i = 0; i < countOfAnime; i++) { if (typeOfAnime != null && typeOfAnime.equals("Films")) { - anime[i] = new Anime(names.get(i), descriptions.get(i), genres.get(i), years.get(i), ratings.get(i), images.get(i), urls.get(i)); + anime[i] = new Anime(names.get(i), descriptions.get(i), genres.get(i), years.get(i), null, ratings.get(i), images.get(i), urls.get(i)); } else if (typeOfAnime != null && typeOfAnime.equals("Ongoing")) { anime[i] = new Anime(names.get(i), descriptions.get(i), genres.get(i), null, series.get(i), ratings.get(i), images.get(i), urls.get(i)); } else if (typeOfAnime != null && typeOfAnime.equals("Serials")) { anime[i] = new Anime(names.get(i), descriptions.get(i), genres.get(i), years.get(i), series.get(i), ratings.get(i), images.get(i), urls.get(i)); } else if (Anime.isSearching) { - anime[i] = new Anime(names.get(i), descriptions.get(i), genres.get(i), null, null, ratings.get(i), images.get(i), urls.get(i)); + anime[i] = new Anime(names.get(i), descriptions.get(i), null, null, null, ratings.get(i), images.get(i), urls.get(i)); } } -- cgit v1.2.3