Mercurial Hosting > nabble
view src/nabble/view/web/template/MessageNamespace.java @ 62:4674ed7d56df default tip
remove n2
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 30 Sep 2023 20:25:29 -0600 |
parents | 7ecd1a4ef557 |
children |
line wrap: on
line source
package nabble.view.web.template; import fschmidt.html.Html; import nabble.model.FileUpload; import nabble.model.MailMessageFormat; import nabble.model.Message; import nabble.model.Node; import nabble.naml.compiler.Command; import nabble.naml.compiler.CommandSpec; import nabble.naml.compiler.IPrintWriter; import nabble.naml.compiler.Interpreter; import nabble.naml.compiler.Namespace; import nabble.naml.compiler.ScopedInterpreter; @Namespace ( name = "message", global = false ) public final class MessageNamespace { private final Message message; public MessageNamespace(Message message) { this.message = message; } @Command public void as_text(IPrintWriter out,Interpreter interp) { out.print( interp.encode(message.getText()) ); } @Command public void as_quoted_text(IPrintWriter out,Interpreter interp) { boolean isMail = message.getFormat() instanceof MailMessageFormat; if( isMail ) { Html html = new Html(message.getText()); MailMessageFormat.tagEmails(html,(Node)message.getSource()); out.print(html); } else { Html html = new Html(message.getRaw()); FileUpload.processFileTags(html,message.getSource()); out.print(html); } } @Command public void as_text_without_quotes(IPrintWriter out,Interpreter interp) { out.print( interp.encode(message.getTextWithoutQuotes()) ); } @Command public void as_raw(IPrintWriter out,Interpreter interp) { out.print( message.getRaw() ); } @Command public void as_editable(IPrintWriter out,Interpreter interp) { boolean isMail = message.getFormat() instanceof MailMessageFormat; out.print( isMail ? message.getText() : message.getRaw() ); } @Command public void is_imported_mail(IPrintWriter out,Interpreter interp) { out.print( message.getFormat().isMail() ); } @Command public void is_html_format(IPrintWriter out,Interpreter interp) { out.print( message.getFormat() == Message.Format.HTML ); } @Command public void is_text_format(IPrintWriter out,Interpreter interp) { out.print( message.getFormat() == Message.Format.TEXT ); } @Command public void is_deleted(IPrintWriter out,Interpreter interp) { out.print( message.isDeleted() ); } @Command public void is_deactivated(IPrintWriter out,Interpreter interp) { out.print( message.isDeactivated() ); } @Command public void format(IPrintWriter out,Interpreter interp) { String s = message.getFormat().getName(); if( s.equals("subscription") ) s = "mail"; // hack for now out.print(s); } public static final CommandSpec as_html_list = CommandSpec.DO; @Command public void as_html_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { HtmlListNamespace html = new HtmlListNamespace( message.parse(), message.getSource(), message.getFormat()); interp.getArgString(html,"do"); out.print(html); } public static final CommandSpec as_raw_html_list = CommandSpec.DO; @Command public void as_raw_html_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { HtmlListNamespace html = new HtmlListNamespace( new Html(message.getRaw()), message.getSource(), message.getFormat()); interp.getArgString(html,"do"); out.print(html); } public static final CommandSpec as_text_list = CommandSpec.DO; @Command public void as_text_list(IPrintWriter out,ScopedInterpreter<HtmlListNamespace> interp) { boolean isMail = message.getFormat() instanceof MailMessageFormat; if( isMail ) { out.print( message.getText() ); } else { HtmlListNamespace html = new HtmlListNamespace( message.parseForMailText(), message.getSource(), message.getFormat()); interp.getArgString(html,"do"); out.print( html.toMailText() ); } } }