Integrate tag searching into library.

This commit is contained in:
NerdNumber9
2017-01-04 11:17:12 -05:00
parent 63d58c7a4f
commit 516a3bd017
4 changed files with 42 additions and 7 deletions
@@ -8,7 +8,8 @@ class MetadataHelper {
fun writeGallery(galleryMetadata: ExGalleryMetadata)
= exGalleryBook().write(galleryMetadata.galleryUniqueIdentifier(), galleryMetadata)
fun fetchMetadata(url: String, exh: Boolean) = ExGalleryMetadata().apply {
fun fetchMetadata(url: String, exh: Boolean): ExGalleryMetadata?
= ExGalleryMetadata().apply {
this.url = url
this.exh = exh
return exGalleryBook().read<ExGalleryMetadata>(galleryUniqueIdentifier())
+6 -3
View File
@@ -4,6 +4,9 @@ import exh.metadata.models.ExGalleryMetadata
import exh.metadata.models.Tag
class SearchEngine {
private val queryCache = mutableMapOf<String, List<QueryComponent>>()
fun matches(metadata: ExGalleryMetadata, query: List<QueryComponent>): Boolean {
fun matchTagList(tags: List<Tag>,
@@ -56,7 +59,7 @@ class SearchEngine {
return true
}
fun parseQuery(query: String): List<QueryComponent> {
fun parseQuery(query: String) = queryCache.getOrPut(query, {
val res = mutableListOf<QueryComponent>()
var inQuotes = false
@@ -128,6 +131,6 @@ class SearchEngine {
}
flushAll()
return res
}
res
})
}