From: adam Date: Tue, 17 Jan 2006 03:42:55 +0000 (+0000) Subject: added url.encode and mail.error X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=commitdiff_plain;h=ef94867a5697c21afd0e77899f5f075adc86e58d added url.encode and mail.error darcs-hash:20060117034255-5007d-12999a565094c5dfd03005812ed49b819cc52757.gz --- diff --git a/src/org/ibex/mail/target/Script.java b/src/org/ibex/mail/target/Script.java index 0d65268..d493384 100644 --- a/src/org/ibex/mail/target/Script.java +++ b/src/org/ibex/mail/target/Script.java @@ -112,6 +112,8 @@ public class Script extends JS.Obj implements Target { case "log.warn": return METHOD; case "log.error": return METHOD; case "list": return getSub("list"); + case "url": return getSub("url"); + case "url.encode": return METHOD; case "mail": return getSub("mail"); case "mail.forward": return METHOD; case "mail.forward2": return METHOD; @@ -120,6 +122,7 @@ public class Script extends JS.Obj implements Target { case "mail.later": return Later.instance; case "mail.drop": return Drop.instance; case "mail.bounce": return METHOD; + case "mail.error": return METHOD; case "mail.my": return getSub("mail.my"); case "mail.my.prefs": try { return new org.ibex.js.Directory(new File("/etc/org.ibex.mail.prefs")); @@ -139,6 +142,7 @@ public class Script extends JS.Obj implements Target { final int nargs = args.length; String name = JSU.toString(name0); try { + if (name.equals("url.encode")) return JSU.S(java.net.URLEncoder.encode(JSU.toString(args[0]))); if (name.equals("mail.list")) return JSReflection.wrap(MailingList.getMailingList(JSU.toString(args[0]))); if (name.equals("date")) { return new JSDate(args); } if (name.equals("mail.send") || name.equals("send") || name.equals("mail.attempt") || name.equals("attempt")) { @@ -209,6 +213,8 @@ public class Script extends JS.Obj implements Target { org.ibex.mail.protocol.SMTP.Outgoing.attempt(m2); return Drop.instance; } + if (name.equals("mail.error")) + throw new MailException.Malformed(JSU.toString(a)); if (name.equals("log.debug") || name.equals("debug")) { JSU.debug(a== null ? "**null**" : JSU.toString(a)); return null; } if (name.equals("log.info") || name.equals("info")) { JSU.info(a== null ? "**null**" : JSU.toString(a)); return null; } if (name.equals("log.warn") || name.equals("warn")) { JSU.warn(a== null ? "**null**" : JSU.toString(a)); return null; } @@ -220,6 +226,7 @@ public class Script extends JS.Obj implements Target { case 2: if (name.equals("regexp")) {return new JSRegexp(a, b); } } + } catch (MailException e) { throw e; } catch (Exception e) { Log.warn(this, "ibex."+name+"() threw: " + e); Log.warn(this, e);