From 131acd50b152128f19f9a59329faa1532e5f8e5f Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sun, 30 Apr 2023 07:38:54 +0200 Subject: [PATCH] =?utf8?q?=F0=9F=8E=A8=20Convert=20PoorlyDrawnLines=20filt?= =?utf8?q?er=20to=20Kotlin?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../comics/PoorlyDrawnLinesComicFilter.java | 55 ---------------------- .../filters/comics/PoorlyDrawnLinesComicFilter.kt | 41 ++++++++++++++++ 2 files changed, 41 insertions(+), 55 deletions(-) delete mode 100644 src/main/java/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.java create mode 100644 src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.kt diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.java deleted file mode 100644 index c01f5a9..0000000 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * rhynodge - PoorlyDrawnLinesComicFilter.java - Copyright © 2013 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.rhynodge.filters.comics; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import net.pterodactylus.rhynodge.filters.ComicSiteFilter; - -import com.google.common.base.Optional; -import org.jsoup.nodes.Document; - -import static java.util.Arrays.stream; - -/** - * {@link ComicSiteFilter} implementation that can parse Poorly Drawn Lines - * comics. - * - * @author David ‘Bombe’ Roden - */ -public class PoorlyDrawnLinesComicFilter extends ComicSiteFilter { - - @Override - protected Optional extractTitle(Document document) { - return Optional.of(document.select(".share-mobile .social a.facebook").attr("href")) - .transform(href -> stream(href.split("&t=")).skip(1).findFirst().orElse("")); - } - - @Override - protected List extractImageUrls(Document document) { - return Arrays.asList(document.select(".comic img").attr("src")); - } - - @Override - protected List extractImageComments(Document document) { - return Collections.emptyList(); - } - -} diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.kt new file mode 100644 index 0000000..308b27e --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/PoorlyDrawnLinesComicFilter.kt @@ -0,0 +1,41 @@ +/* + * rhynodge - PoorlyDrawnLinesComicFilter.kt - Copyright © 2013—2023 David Roden + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package net.pterodactylus.rhynodge.filters.comics + +import net.pterodactylus.rhynodge.filters.ComicSiteFilter +import net.pterodactylus.rhynodge.utils.asOptional +import org.jsoup.nodes.Document + +/** + * [ComicSiteFilter] implementation that can parse Poorly Drawn Lines + * comics. + */ +class PoorlyDrawnLinesComicFilter : ComicSiteFilter() { + + override fun extractTitle(document: Document) = + document.select(".share-mobile .social a.facebook") + .attr("href") + .split("&t=") + .last() + .asOptional() + + override fun extractImageUrls(document: Document) = + listOf(document.select(".comic img").attr("src")) + + override fun extractImageComments(document: Document) = emptyList() + +} -- 2.7.4