From 63d58c7a4f5e5ffbd5e6cca64aafe5473e40e4e0 Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Wed, 4 Jan 2017 10:30:44 -0500 Subject: [PATCH] Add uploader faux-namespace to search engine. --- .../data/source/online/all/EHentai.kt | 10 ++++---- app/src/main/java/exh/search/SearchEngine.kt | 23 ++++++++++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt index 307dc9441..ccc211c73 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt @@ -180,14 +180,14 @@ class EHentai(override val id: Int, with(metdata) { url = manga.url exh = this@EHentai.exh - title = select("#gn").text().nullIfBlank() - altTitle = select("#gj").text().nullIfBlank() + title = select("#gn").text().nullIfBlank()?.trim() + altTitle = select("#gj").text().nullIfBlank()?.trim() - thumbnailUrl = select("#gd1 img").attr("src").nullIfBlank() + thumbnailUrl = select("#gd1 img").attr("src").nullIfBlank()?.trim() - genre = select(".ic").attr("alt").nullIfBlank() + genre = select(".ic").attr("alt").nullIfBlank()?.trim() - uploader = select("#gdn").text().nullIfBlank() + uploader = select("#gdn").text().nullIfBlank()?.trim() //Parse the table select("#gdd tr").forEach { diff --git a/app/src/main/java/exh/search/SearchEngine.kt b/app/src/main/java/exh/search/SearchEngine.kt index 962fdbe4c..03083420f 100644 --- a/app/src/main/java/exh/search/SearchEngine.kt +++ b/app/src/main/java/exh/search/SearchEngine.kt @@ -4,7 +4,6 @@ import exh.metadata.models.ExGalleryMetadata import exh.metadata.models.Tag class SearchEngine { - //TODO Namespace alias fun matches(metadata: ExGalleryMetadata, query: List): Boolean { fun matchTagList(tags: List, @@ -37,13 +36,21 @@ class SearchEngine { if(!matchTagList(metadata.tags.entries.flatMap { it.value }, component)) return false } else if(component is Namespace) { - //Match namespace - val ns = metadata.tags.entries.filter { - it.key == component.namespace - }.flatMap { it.value } - //Match tags - if(!matchTagList(ns, component.tag!!)) - return false + if(component.namespace == "uploader") { + //Match uploader + if(!component.tag?.rawTextOnly().equals(metadata.uploader, + ignoreCase = true)) { + return false + } + } else { + //Match namespace + val ns = metadata.tags.entries.filter { + it.key == component.namespace + }.flatMap { it.value } + //Match tags + if (!matchTagList(ns, component.tag!!)) + return false + } } } return true