X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Ftriggers%2FNewComicTrigger.java;h=d2e068899db5ea53bb6300f29f60f37a908d6572;hb=4f1d9c18af78b34bd87b061bd49f55bcd0d92719;hp=1b64c5bb3aaffde31586112b1732d7087637e188;hpb=a9465123443368cb7313468c38865e03ddb9d8fe;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/triggers/NewComicTrigger.java b/src/main/java/net/pterodactylus/rhynodge/triggers/NewComicTrigger.java index 1b64c5b..d2e0688 100644 --- a/src/main/java/net/pterodactylus/rhynodge/triggers/NewComicTrigger.java +++ b/src/main/java/net/pterodactylus/rhynodge/triggers/NewComicTrigger.java @@ -19,6 +19,8 @@ package net.pterodactylus.rhynodge.triggers; import static com.google.common.base.Preconditions.*; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import net.pterodactylus.rhynodge.Reaction; @@ -45,6 +47,9 @@ public class NewComicTrigger implements Trigger { /** The new comics. */ private final List newComics = Lists.newArrayList(); + /** The latest comic state. */ + private ComicState mergedComicState; + @Override public State mergeStates(State previousState, State currentState) { checkArgument(previousState instanceof ComicState, "previous state must be a comic state"); @@ -54,7 +59,7 @@ public class NewComicTrigger implements Trigger { ComicState currentComicState = (ComicState) currentState; /* copy old state into new state. */ - ComicState mergedComicState = new ComicState(); + mergedComicState = new ComicState(); for (Comic comic : previousComicState) { mergedComicState.add(comic); } @@ -124,6 +129,19 @@ public class NewComicTrigger implements Trigger { generateComicHtml(html, newComic); } + List latestComics = new ArrayList(mergedComicState.comics()); + Collections.reverse(latestComics); + int comicCount = 0; + for (Comic comic : latestComics) { + if (newComics.contains(comic)) { + continue; + } + generateComicHtml(html, comic); + if (++comicCount == 7) { + break; + } + } + return html.append("").toString(); } @@ -142,6 +160,7 @@ public class NewComicTrigger implements Trigger { html.append("\" alt=\"").append(StringEscapeUtils.escapeHtml4(strip.comment())); html.append("\" title=\"").append(StringEscapeUtils.escapeHtml4(strip.comment())); html.append("\">\n"); + html.append("
").append(StringEscapeUtils.escapeHtml4(strip.comment())).append("
\n"); } }