improve parsing

This commit is contained in:
Believethehype
2024-05-16 14:07:11 +02:00
parent 51335e06f1
commit 7f2b8519f3
@@ -25,7 +25,6 @@ import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.Account
import com.vitorpamplona.amethyst.model.LocalCache import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.quartz.encoders.toHexKey
import com.vitorpamplona.quartz.events.MuteListEvent import com.vitorpamplona.quartz.events.MuteListEvent
import com.vitorpamplona.quartz.events.NIP90ContentDiscoveryResponseEvent import com.vitorpamplona.quartz.events.NIP90ContentDiscoveryResponseEvent
import com.vitorpamplona.quartz.events.PeopleListEvent import com.vitorpamplona.quartz.events.PeopleListEvent
@@ -66,14 +65,10 @@ open class NIP90ContentDiscoveryFilter(
var collection: MutableSet<Note> = mutableSetOf() var collection: MutableSet<Note> = mutableSetOf()
val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
var json = mapper.readValue(eventContent, Array::class.java) var etags = mapper.readValue(eventContent, List::class.java)
for (element in json) { for (element in etags) {
// var test = mapper.readValue(element.toString(), Array::class.java) var tag = mapper.readValue(mapper.writeValueAsString(element), Array::class.java)
// TODO. This is ugly. how to Kotlin? val note = LocalCache.checkGetOrCreateNote(tag[1].toString())
var id = element.toString().trimStart('[').trimStart('e').trimStart(',').trimEnd(']').trimStart().trimEnd()
var note = LocalCache.checkGetOrCreateNote(id)
if (note != null) { if (note != null) {
collection.add(note) collection.add(note)
} }
@@ -113,19 +108,15 @@ open class NIP90ContentDiscoveryFilter(
var note = sorted.first() var note = sorted.first()
var eventContent = note.event?.content() var eventContent = note.event?.content()
println(eventContent) // println(eventContent)
val collection: MutableSet<Note> = mutableSetOf() val collection: MutableSet<Note> = mutableSetOf()
val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
var json = mapper.readValue(eventContent, Array::class.java) var etags = mapper.readValue(eventContent, Array::class.java)
for (element in json) { for (element in etags) {
// var test = mapper.readValue(element.toString(), Array::class.java) var tag = mapper.readValue(mapper.writeValueAsString(element), Array::class.java)
// TODO. This is ugly. how to Kotlin? val note = LocalCache.checkGetOrCreateNote(tag[1].toString())
var id = element.toString().trimStart('[').trimStart('e').trimStart(',').trimEnd(']').trimStart().trimEnd()
val note = LocalCache.checkGetOrCreateNote(id)
if (note != null) { if (note != null) {
println(note.id().toHexKey())
collection.add(note) collection.add(note)
} }
} }