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
+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
})
}