More Checkout payment options
[bpt/portal.git] / mailinglist.sml
index ca8b95d..37f31df 100644 (file)
@@ -19,20 +19,22 @@ fun listWebHost name =
     case String.tokens (fn ch => ch = #"@") name of
        [user, dom] =>
        let
-           val mmf = Util.domainDir dom ^ "/.mailman"
+           val mmf = Util.domainDir dom ^ "/mailman"
        in
            if Posix.FileSys.access (mmf, []) then
                let
                    val inf = TextIO.openIn mmf
                in
                    (case TextIO.inputLine inf of
-                        NONE => (user, dom)
+                        NONE => {user = user, dom = dom, vhost = "<<<No darned data in " ^ mmf ^ ">>>"}
                       | SOME line =>
-                        (user, String.substring (line, 0, size line - 1)))
+                        case String.tokens (fn ch => Char.isSpace ch orelse ch = #":" orelse ch = #"'" orelse ch = #",") line of
+                            [vhost, _] => {user = user, dom = dom, vhost = "http://" ^ vhost}
+                          | _ => {user = user, dom = dom, vhost = "<<<Parse failure in " ^ mmf ^ ">>>"})
                    before TextIO.closeIn inf
-               end handle _ => (user, dom)
+               end handle _ => {user = user, dom = dom, vhost = "<<<A darn old exception reading " ^ mmf ^ ">>>"}
            else
-               (user, dom)
+               {user = user, dom = dom, vhost = "https://lists.hcoop.net"}
        end
       | _ => raise (Fail "Bad mailing list name")