X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=siteconfig.lsp;h=69f0fbb7ded19803550524b536dafd838e56bf0a;hb=a0971e1ea5dd4963e51a5dd0c24d90c443c1dc84;hp=1050918a475f7621b20948b04c1273eef41398ab;hpb=71a0489975b6126f6a3129d1837b63912c4c427a;p=rrq%2Fhourglass.git diff --git a/siteconfig.lsp b/siteconfig.lsp index 1050918..69f0fbb 100644 --- a/siteconfig.lsp +++ b/siteconfig.lsp @@ -3,16 +3,17 @@ (define (set-int K V) (set K (int V 0 10))) (define (set-ints K V) - (map (curry set-int K) (clean empty? (parse V "\\s*,?\\s*" 0)))) + (set K (map int (clean empty? (parse V "(\\s+|\\s*,\\s*)" 0))))) (define (set-list K V) - (map (curry set K) (clean empty? (parse V "\\s*,?\\s*" 0)))) + (set K (clean empty? (parse V "(\\s+|\\s*,\\s*)" 0)))) (constant 'FILE "hourglass.conf" 'KEYS '( ("listener.ports" set-ints) - ("listener.ip" set) + ("listener.net" set) + ("listener.log.ip" set) ("listener.activity.dir" set) ("listener.tap" set) @@ -37,9 +38,12 @@ ) (define (setting LINE) - (when (regex "^\\s([^;#][^=]*)=(.*)" LINE 0) + (when (regex "^\\s*([^;#][^=]*)=(.*)" LINE 0) (let ((KV (map trim (list $1 $2)))) - (if (lookup (KV 0) KEYS) (apply $it (list (sym (KV 0)) (KV 1))))))) + (if (lookup (KV 0) KEYS) + (let ((SET $it) (K (sym (KV 0))) (V (KV 1))) + ;(write-line 2 (string (list K V))) + (apply SET (list K V))))))) (map setting (parse (or (read-file FILE) "") "\n"))