8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
-
-
-
-
-
-
-
-
|
;; PURPOSE.
(declare (unit setup))
(declare (uses session))
(require-extension srfi-69)
(require-extension regex)
;;
(define s:session (make-sdat))
(session:initialize s:session)
;; use this for getting data from page to page when scope and evals
;; get in the way
(define s:local-vars (make-hash-table))
(define (s:local-set! k v)
(hash-table-set! s:local-vars k v))
(define (s:local-get k)
(hash-table-ref/default s:local-vars k #f))
(session:setup s:session)
(define (s:log . msg)
(apply session:log s:session msg))
(session:get-vars s:session)
(define (s:set-err . args)
(sdat-set-curr-err! s:session args))
;; Usage: (s:get-err s:big)
(define (s:get-err wrapperfunc)
(let ((errmsg (sdat-get-curr-err s:session)))
(if errmsg ((if wrapperfunc
|
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
(session:del! s:session "*sessionvars*" key))
;; utility to get all vars as hash table
(define (s:session-get-sessionvars)
(sdat-get-sessionvars s:session))
;; inputs
;;
(define (s:get-input key)
(session:get-input s:session key))
(define (s:load-model model)
(session:load-model s:session model))
(define (s:model-path model)
(session:model-path s:session model))
;; share data between pages calls
;;
(define (s:shared-hash)
(sdat-get-shared-hash s:session))
(define (s:shared-set! key val)
(hash-table-set! (sdat-get-shared-hash s:session) key val))
(define (s:shared-get key)
(hash-table-ref (sdat-get-shared-hash s:session) key))
;; http://foo.bar.com/pagename/p1/p2 => '("p1" "p2")
;;
(define (s:get-page-params)
(sdat-get-page-params s:session))
(define (s:db)
(sdat-get-conn s:session))
(define (s:never-called-page? page)
(session:never-called-page? s:session page))
;; find out if we are in debugmode
(define (s:debug-mode?)
(sdat-get-debugmode s:session))
|