Mercurial Hosting > luan
changeset 273:073044e3ac03
fix mmake.sh and multipart mail
git-svn-id: https://luan-java.googlecode.com/svn/trunk@274 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 31 Oct 2014 18:44:11 +0000 |
parents | eb27e765affb |
children | 8afe9f2fdfec |
files | core/src/luan/modules/Time.luan dist/jars/luan-core-trunk.jar dist/jars/luan-logging-trunk.jar dist/jars/luan-lucene-trunk.jar dist/jars/luan-mail-trunk.jar dist/jars/luan-web-trunk.jar dist/scripts/mmake.luan mail/src/luan/modules/mail/SmtpCon.java |
diffstat | 8 files changed, 22 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
diff -r eb27e765affb -r 073044e3ac03 core/src/luan/modules/Time.luan --- a/core/src/luan/modules/Time.luan Fri Oct 31 04:50:24 2014 +0000 +++ b/core/src/luan/modules/Time.luan Fri Oct 31 18:44:11 2014 +0000 @@ -37,6 +37,7 @@ end function format(time,pattern) + pattern = pattern or "yyyy-MM-dd HH:m:ss" return SimpleDateFormat.new(pattern).format(Date.new(time)) end
diff -r eb27e765affb -r 073044e3ac03 dist/jars/luan-core-trunk.jar Binary file dist/jars/luan-core-trunk.jar has changed
diff -r eb27e765affb -r 073044e3ac03 dist/jars/luan-logging-trunk.jar Binary file dist/jars/luan-logging-trunk.jar has changed
diff -r eb27e765affb -r 073044e3ac03 dist/jars/luan-lucene-trunk.jar Binary file dist/jars/luan-lucene-trunk.jar has changed
diff -r eb27e765affb -r 073044e3ac03 dist/jars/luan-mail-trunk.jar Binary file dist/jars/luan-mail-trunk.jar has changed
diff -r eb27e765affb -r 073044e3ac03 dist/jars/luan-web-trunk.jar Binary file dist/jars/luan-web-trunk.jar has changed
diff -r eb27e765affb -r 073044e3ac03 dist/scripts/mmake.luan --- a/dist/scripts/mmake.luan Fri Oct 31 04:50:24 2014 +0000 +++ b/dist/scripts/mmake.luan Fri Oct 31 18:44:11 2014 +0000 @@ -1,8 +1,7 @@ -import "Table" -import "Io" -import "String" -import "Java" -import "java.util.Date" +import "luan:Table" +import "luan:Io" +import "luan:String" +import "luan:Time" compiler = Table.concat( { "javac -g -encoding UTF8", ... }, " " ) @@ -41,14 +40,14 @@ function header() return %> -# Makefile created on <%=Date.new()%> by Mmake +# Makefile created on <%=Time.format(Time.now())%> by Mmake .SUFFIXES: .java .class .java.class: - javac -g -encoding UTF8 $< + <%=compiler%> $< all: <% end -mmake(Io.File ".") +mmake(Io.schemes.file ".")
diff -r eb27e765affb -r 073044e3ac03 mail/src/luan/modules/mail/SmtpCon.java --- a/mail/src/luan/modules/mail/SmtpCon.java Fri Oct 31 04:50:24 2014 +0000 +++ b/mail/src/luan/modules/mail/SmtpCon.java Fri Oct 31 18:44:11 2014 +0000 @@ -1,6 +1,7 @@ package luan.modules.mail; import java.util.Map; +import java.util.HashMap; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; @@ -105,19 +106,23 @@ if( body instanceof String ) { msg.setText((String)body); } else if( body instanceof LuanTable ) { + LuanTable bodyTbl = (LuanTable)body; + Map<Object,Object> map = new HashMap<Object,Object>(bodyTbl.asMap()); MimeMultipart mp = new MimeMultipart("alternative"); - for( Map.Entry<Object,Object> entry : (LuanTable)body ) { - String key = (String)entry.getKey(); - String val = (String)entry.getValue(); + String text = (String)map.remove("text"); + if( text != null ) { MimeBodyPart part = new MimeBodyPart(); - if( key.equals("text") ) { - part.setText(val); - } else if( key.equals("html") ) { - part.setContent(val,"text/html"); - } else - throw luan.exception( "invalid body type: " + key ); + part.setText(text); mp.addBodyPart(part); } + String html = (String)map.remove("html"); + if( html != null ) { + MimeBodyPart part = new MimeBodyPart(); + part.setContent(html,"text/html"); + mp.addBodyPart(part); + } + if( !map.isEmpty() ) + throw luan.exception( "invalid body types: " + map ); msg.setContent(mp); } else throw luan.exception( "parameter 'body' is must be a string or table" );