12d3fbb7154d46d2a1a1f7f895b649f60d6e9118
[rrq/hourglass.git] / manager / controls.lsp
1 ; Load and present control.dat
2
3 (load "expand-string.lsp")
4
5 (setf UPDATE "")
6
7 (when (= (env "REQUEST_METHOD") "POST")
8   (load "controls-update.lsp")
9   )
10
11 (constant
12  'CONTROLFILE "control.dat"
13  'CONTROL (read-expr (read-file CONTROLFILE))
14  'GAP (or (lookup 'gap CONTROL) 5)
15  'CLIP (or (lookup 'clip CONTROL) 5)
16  'INCL (or (lookup 'control CONTROL) "ipset-control.lsp")
17  'TIMES (map (fn (n) (or (assoc n CONTROL) '(1 timed (7 0) (3 0) (19 0))))
18              (sequence 1 7))
19  'NET (or (lookup 'net CONTROL) "10.0.0.0/8")
20  )
21
22 (setf
23  DAYS '(0 "Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun")
24  incl-options '("ipset-control.lsp")
25  gap-options '(0 1 2 5 10 15 30)
26  clip-options '(0 200 500 800 1000 1200 1500 2000)
27  mode-options '("opened" "timed" "closed")
28  start-options '()
29  end-options '()
30  limit-options '()
31  )
32 (dotimes (h 24) (dolist (m '(0 30))
33                   (push (format "%02d:%02d" h m) start-options -1)))
34 (dotimes (h 24) (dolist (m '(0 30))
35                   (push (format "%02d:%02d" h m) end-options -1)))
36 (for (h 1 8) (dolist (m '(0 30))
37                (push (format "%02d:%02d" h m) limit-options -1)))
38
39 (println "Status 200 OK\nContent-Type: text/html\n\n")
40 (println (expand-file "tmpl/controls-form.html" ))
41 (exit 0)