8023de7b |
1 | structure Apt = RequestH(struct |
2 | val table = "Apt" |
3 | val adminGroup = "server" |
4 | fun subject _ = "Apt package installation request" |
5 | val template = "apt" |
6 | val descr = "packages" |
ff2b7604 |
7 | |
8023de7b |
8 | fun body {node, mail, data = pkgs} = |
9 | let |
10 | val pkgs = String.tokens Char.isSpace pkgs |
11 | val infos = map (valOf o (fn x => AptQuery.query {node = node, pkg = x})) pkgs |
ff2b7604 |
12 | |
8023de7b |
13 | fun rightJustify (n, s) = |
14 | let |
15 | fun pad n = |
16 | if n <= 0 then |
17 | () |
18 | else |
19 | (Mail.mwrite (mail, " "); |
20 | pad (n-1)) |
21 | in |
22 | pad (n - size s); |
23 | Mail.mwrite (mail, s) |
24 | end |
25 | in |
26 | app (fn info => |
27 | (rightJustify (10, #name info); |
28 | Mail.mwrite (mail, " "); |
29 | Mail.mwrite (mail, #descr info); |
30 | Mail.mwrite (mail, "\n"))) infos |
31 | end |
32 | end) |