X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FRenderFilter.kt;h=420f77c56b104a2f4c8919b9258eef0d4e377630;hb=62573c314957b1851f4fbe693b8746686caa940a;hp=0db2a29f6111399c3a34913ed4b390d344f19361;hpb=85f358b53d57578c199e2d2f799bf95272174650;p=Sone.git
diff --git a/src/main/kotlin/net/pterodactylus/sone/template/RenderFilter.kt b/src/main/kotlin/net/pterodactylus/sone/template/RenderFilter.kt
index 0db2a29..420f77c 100644
--- a/src/main/kotlin/net/pterodactylus/sone/template/RenderFilter.kt
+++ b/src/main/kotlin/net/pterodactylus/sone/template/RenderFilter.kt
@@ -10,25 +10,22 @@ import net.pterodactylus.sone.text.PostPart
import net.pterodactylus.sone.text.SonePart
import net.pterodactylus.sone.text.SoneTextParser
import net.pterodactylus.sone.text.SoneTextParserContext
+import net.pterodactylus.sone.utils.asTemplate
import net.pterodactylus.util.template.Filter
import net.pterodactylus.util.template.TemplateContext
import net.pterodactylus.util.template.TemplateContextFactory
-import net.pterodactylus.util.template.TemplateParser
-import java.io.StringReader
import java.io.StringWriter
import java.io.Writer
import java.net.URLEncoder
/**
* Renders a number of pre-parsed [Part] into a [String].
- *
- * @author [David âBombeâ Roden](mailto:bombe@pterodactylus.net)
*/
class RenderFilter(private val core: Core, private val templateContextFactory: TemplateContextFactory) : Filter {
companion object {
- private val plainTextTemplate = TemplateParser.parse(StringReader("<%text|html>"))
- private val linkTemplate = TemplateParser.parse(StringReader("\" href=\"<%link|html>\" title=\"<%title|html>\"><%text|html>"))
+ private val plainTextTemplate = "<%text|html>".asTemplate()
+ private val linkTemplate = "\" href=\"<%link|html>\" title=\"<%title|html>\"><%text|html>".asTemplate()
}
override fun format(templateContext: TemplateContext?, data: Any?, parameters: MutableMap?): Any? {
@@ -102,7 +99,7 @@ class RenderFilter(private val core: Core, private val templateContextFactory: T
private fun render(writer: Writer, freemailPart: FreemailPart) {
val sone = core.getSone(freemailPart.identityId)
- val soneName = sone.transform(SoneAccessor::getNiceName).or(freemailPart.identityId)
+ val soneName = sone?.let(SoneAccessor::getNiceName) ?: freemailPart.identityId
renderLink(writer,
"/Freemail/NewMessage?to=${freemailPart.identityId}",
"${freemailPart.emailLocalPart}@$soneName.freemail",