1
2
3
4
5
6
7
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
;;======================================================================
;; Copyright 2017, Matthew Welland.
;;
;; This program is made available under the GNU GPL version 2.0 or
;; greater. See the accompanying file COPYING for details.
;;
;; This program is distributed WITHOUT ANY WARRANTY; without even the
;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;; PURPOSE.
;;======================================================================
(define (pages:home session db shared)
(let* ((dbh (s:db))
(ttypes (pgdb:get-target-types dbh))
(selected (string->number (or (s:get "target-type") "-1")))
(target-slice (pgdb:get-distict-target-slice dbh))
(selected-slice (or (s:get "tslice") ""))
(curr-trec (filter (lambda (x)(eq? selected (vector-ref x 0))) ttypes))
(curr-ttype (if (and selected
(not (null? curr-trec)))
(vector-ref (car curr-trec) 1) #f))
(all-parts (if curr-ttype (append (string-split curr-ttype "/") '("runname" "testname")) '()))
(tfilter (or (s:get "target-filter") "%"))
(tslice-filter (or (s:get "t-slice-patt") ""))
(target-patt (if (or (equal? selected-slice "") (equal? tslice-filter "" ))
""
(conc selected-slice "/" tslice-filter )))
(tab2-data (if (equal? target-patt "")
`()
(pgdb:get-all-run-stats-target-slice dbh target-patt)))
(tab2-ordered-data (pgdb:coalesce-runs-by-slice tab2-data selected-slice))
(targets (pgdb:get-targets-of-type dbh selected tfilter))
(row-or-col (string-split (or (s:get "row-or-col") "") ","))
(all-data (if (and selected
(not (eq? selected -1)))
(pgdb:get-latest-run-stats-given-target dbh selected tfilter)
'()
; (pgdb:get-stats-given-type-target dbh selected tfilter)
; (pgdb:get-stats-given-target dbh tfilter)
))
(ordered-data (pgdb:coalesce-runs dbh all-data all-parts row-or-col 0)))
(s:div 'class "col_12"
(s:ul 'class "tabs left"
(s:li (s:a 'href "#tabr1" "Sliced Filter"))
(s:li (s:a 'href "#tabr2" "Genral Filter")))
(s:div 'id "tabr1" 'class "tab-content"
(s:div 'class "col_11"
(s:fieldset "Filter Targets by slice"
(s:form
'action "home.filter2" 'method "post"
(s:div 'class "col_12"
(s:div 'class "col_6"
(s:select (map (lambda (x)
(let ((t-slice (vector-ref x 0)))
(if (equal? t-slice selected-slice)
(list t-slice t-slice t-slice #t)
(list t-slice t-slice t-slice #f))))
target-slice)
'name 'tslice-select))
(s:div 'class "col_4"
(s:input-preserve 'name "t-slice-filter" 'placeholder "Filter remainder target"))
(s:div 'class "col_2"
(s:input 'type "submit" 'name "set-filter-vals" 'value "Submit")))))
(s:br)
(s:p " Result Format: total / pass / fail / other")
(s:fieldset (conc "Runs data for " target-patt)
(let* ((target-keys (hash-table-keys tab2-ordered-data))
(run-keys (delete-duplicates (apply append (map (lambda (sub-key)
(let ((subdat (hash-table-ref tab2-ordered-data sub-key)))
(hash-table-keys subdat)))
target-keys)))))
|
>
>
>
>
>
>
>
|
>
>
>
>
>
|
>
>
>
>
|
>
>
>
>
>
>
>
>
|
|
|
>
>
>
>
>
>
|
1
2
3
4
5
6
7
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
;;======================================================================
;; Copyright 2017, Matthew Welland.
;;
;; This program is made available under the GNU GPL version 2.0 or
;; greater. See the accompanying file COPYING for details.
;;
;; This program is distributed WITHOUT ANY WARRANTY; without even the
;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;; PURPOSE.
;;======================================================================
(define (pages:home session db shared)
(let* ((dbh (s:db))
(tab2-limit 15)
(tab2-page (if (or (equal? (s:get-param "page") "") (equal? (s:get-param "page") #f))
1
(string->number (s:get-param "page"))))
(tab2-offset (- (* tab2-limit tab2-page) tab2-limit))
(ttypes (pgdb:get-target-types dbh))
(selected (string->number (or (s:get "target-type") "-1")))
(target-slice (pgdb:get-distict-target-slice dbh))
(selected-slice (if (s:get "tslice")
(s:get "tslice")
(if (s:get-param "tslice")
(s:get-param "tslice")
"")))
(curr-trec (filter (lambda (x)(eq? selected (vector-ref x 0))) ttypes))
(curr-ttype (if (and selected
(not (null? curr-trec)))
(vector-ref (car curr-trec) 1) #f))
(all-parts (if curr-ttype (append (string-split curr-ttype "/") '("runname" "testname")) '()))
(tfilter (or (s:get "target-filter") "%"))
(tslice-filter (if (s:get "t-slice-patt")
(s:get "t-slice-patt")
(if (s:get-param "patt")
(string-substitute "x_x" "%" (s:get-param "patt") 'all)
"%")
))
(target-patt (if (or (equal? selected-slice "") (equal? tslice-filter "" ))
""
(conc selected-slice "/" tslice-filter )))
(tab2-data (if (equal? target-patt "")
`()
(pgdb:get-all-run-stats-target-slice dbh target-patt tab2-limit tab2-offset)))
(tab2-cnt (if (equal? target-patt "")
0
(pgdb:get-slice-cnt dbh target-patt)))
(tab2-pages (round (/ tab2-cnt tab2-limit)))
(tab2-page-lst (pgdb:get-pg-lst tab2-pages))
(tab2-ordered-data (pgdb:coalesce-runs-by-slice tab2-data selected-slice))
(targets (pgdb:get-targets-of-type dbh selected tfilter))
(row-or-col (string-split (or (s:get "row-or-col") "") ","))
(all-data (if (and selected
(not (eq? selected -1)))
(pgdb:get-latest-run-stats-given-target dbh selected tfilter)
'()
; (pgdb:get-stats-given-type-target dbh selected tfilter)
; (pgdb:get-stats-given-target dbh tfilter)
))
(ordered-data (pgdb:coalesce-runs dbh all-data all-parts row-or-col 0)))
(s:div 'class "col_12"
(s:ul 'class "tabs left"
(s:li (s:a 'href "#tabr1" "Sliced Filter"))
(s:li (s:a 'href "#tabr2" "Genral Filter")))
(s:div 'id "tabr1" 'class "tab-content"
(s:div 'class "col_11"
(s:fieldset "Filter Targets by slice"
(s:form
'action "home.filter2" 'method "post" 'name "form1"
(s:div 'class "col_12"
(s:div 'class "col_6"
(s:select (map (lambda (x)
(let ((t-slice (vector-ref x 0)))
(if (equal? t-slice selected-slice)
(list t-slice t-slice t-slice #t)
(list t-slice t-slice t-slice #f))))
target-slice)
'name 'tslice-select))
(s:div 'class "col_4"
(s:input 'type "text" 'name "t-slice-filter" 'value tslice-filter))
(s:div 'class "col_2"
(s:input 'type "submit" 'name "set-filter-vals" 'value "Submit")))))
(s:br)
; (s:p (conc tslice-filter selected-slice tab2-page))
(s:p (map
(lambda (i)
(s:span (s:a 'href (s:link-to "home" 'page i 'patt (string-substitute "%" "x_x" tslice-filter 'all) 'tslice selected-slice) "PAGE " i )" | "))
tab2-page-lst))
(s:p " Result Format: total / pass / fail / other")
(s:fieldset (conc "Runs data for " target-patt)
(let* ((target-keys (hash-table-keys tab2-ordered-data))
(run-keys (delete-duplicates (apply append (map (lambda (sub-key)
(let ((subdat (hash-table-ref tab2-ordered-data sub-key)))
(hash-table-keys subdat)))
target-keys)))))
|