Stream line highlights queries.
This commit is contained in:
parent
68c2d2e11b
commit
bb970b6eb9
3 changed files with 20 additions and 16 deletions
|
@ -67,13 +67,11 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
(-license () "Show licensing terms"
|
(-license () "Show licensing terms"
|
||||||
(print license-text)
|
(print license-text)
|
||||||
(exit 0))
|
(exit 0))
|
||||||
(-MB (dir) "Members base directory" (*members-directory* dir))
|
(-members (dir) "Members base directory" (*members-directory* dir))
|
||||||
(-mfkw () "Member-File invalid Key Warning" (*member-file-check-syntax* 'warning))
|
(-context (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n)))
|
||||||
(-mfkq () "Member-File invalid Key Quiet" (*member-file-check-syntax* 'quiet))
|
|
||||||
(-mfec (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n)))
|
|
||||||
(-mi (id) "Specify member by id" (-member-id- (string->number id)))
|
(-mi (id) "Specify member by id" (-member-id- (string->number id)))
|
||||||
(-mn (nick) "Specify member by nick" (-member-nick- nick))
|
(-mn (nick) "Specify member by nick" (-member-nick- nick))
|
||||||
(-pi () "Print information" (-action- 'print-info))
|
(-info () "Print information" (-action- 'print-info))
|
||||||
(-stats (file:gnuplot-data) "Get stats for all months"
|
(-stats (file:gnuplot-data) "Get stats for all months"
|
||||||
(-action- 'print-stats)
|
(-action- 'print-stats)
|
||||||
(-fname- file:gnuplot-data))
|
(-fname- file:gnuplot-data))
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
(
|
(
|
||||||
*current-month*
|
*current-month*
|
||||||
*member-file-context*
|
*member-file-context*
|
||||||
*member-file-check-syntax*
|
|
||||||
*member-default-joined*
|
*member-default-joined*
|
||||||
*member-suspend-max-months*
|
*member-suspend-max-months*
|
||||||
)
|
)
|
||||||
|
@ -51,12 +50,6 @@
|
||||||
;; Configuration of error reporting
|
;; Configuration of error reporting
|
||||||
(define *member-file-context* (make-parameter 3))
|
(define *member-file-context* (make-parameter 3))
|
||||||
|
|
||||||
;; Tolerance to formal errors (invalid key or key without value):
|
|
||||||
;; 'error - show source and exits with error
|
|
||||||
;; 'warning - show source and error, continue
|
|
||||||
;; 'quiet - ignore
|
|
||||||
(define *member-file-check-syntax* (make-parameter 'error))
|
|
||||||
|
|
||||||
;; Default as specified by the original implementation if the 'joined
|
;; Default as specified by the original implementation if the 'joined
|
||||||
;; key is missing in member file.
|
;; key is missing in member file.
|
||||||
(define *member-default-joined* (make-parameter (make-month 2015 1)))
|
(define *member-default-joined* (make-parameter (make-month 2015 1)))
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
member-record-info
|
member-record-info
|
||||||
member-missing-keys
|
member-missing-keys
|
||||||
member-highlights?
|
member-highlights?
|
||||||
member-valid?
|
member-has-issues?
|
||||||
|
|
||||||
member-destroyed?
|
member-destroyed?
|
||||||
member-suspended?
|
member-suspended?
|
||||||
|
@ -203,10 +203,23 @@
|
||||||
(define (member-highlights? mr)
|
(define (member-highlights? mr)
|
||||||
(dict-has-key? mr 'highlights))
|
(dict-has-key? mr 'highlights))
|
||||||
|
|
||||||
|
;; Returns true if there is at least one highlight of given type
|
||||||
|
(define (member-highlights-has-type? mr type)
|
||||||
|
(let loop ((hls (dict-ref mr 'highlights '())))
|
||||||
|
(if (null? hls)
|
||||||
|
#f
|
||||||
|
(if (eq? (cadddr (car hls)) type)
|
||||||
|
#t
|
||||||
|
(loop (cdr hls))))))
|
||||||
|
|
||||||
|
;; Returns true if there is at least one highlight with error type
|
||||||
|
(define (member-has-errors? mr)
|
||||||
|
(member-highlights-has-type? mr 'error))
|
||||||
|
|
||||||
;; True if member record is OK
|
;; True if member record is OK
|
||||||
(define (member-valid? mr)
|
(define (member-has-issues? mr)
|
||||||
(and (not (member-highlights? mr))
|
(or (member-has-errors? mr)
|
||||||
(is-4digit-prime? (member-id mr))))
|
(not (is-4digit-prime? (member-id mr)))))
|
||||||
|
|
||||||
;; Returns true if the member record represents destroyed member. The
|
;; Returns true if the member record represents destroyed member. The
|
||||||
;; *current-month* is a global parameter from period module.
|
;; *current-month* is a global parameter from period module.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue