70816561d1c9ab166d9bb215f73d3aa486326168
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / filters / comics / HeldentageFilter.java
1 package net.pterodactylus.rhynodge.filters.comics;
2
3 import static com.google.common.base.Optional.absent;
4 import static com.google.common.base.Optional.of;
5 import static java.util.Collections.emptyList;
6 import static java.util.stream.Collectors.toList;
7
8 import java.util.List;
9
10 import net.pterodactylus.rhynodge.filters.ComicSiteFilter;
11
12 import com.google.common.base.Optional;
13 import org.jsoup.nodes.Document;
14
15 /**
16  * {@link ComicSiteFilter} implementation that can parse “Heldentage” comics.
17  *
18  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
19  */
20 public class HeldentageFilter extends ComicSiteFilter {
21
22         @Override
23         protected Optional<String> extractTitle(Document document) {
24                 return extractImageUrls(document).isEmpty() ? absent() : of("");
25         }
26
27         @Override
28         protected List<String> extractImageUrls(Document document) {
29                 return document.select("#mod_jheldentage_display_latest img").stream().map(element -> element.attr("src")).collect(toList());
30         }
31
32         @Override
33         protected List<String> extractImageComments(Document document) {
34                 return emptyList();
35         }
36
37 }