Skip dokuwiki checks if no dokuwiki is loaded.
This commit is contained in:
parent
c4f81dacbe
commit
697dcd24db
2 changed files with 39 additions and 31 deletions
|
@ -314,32 +314,38 @@
|
|||
;; Adds dokuwiki information to all users found, returns new mbase
|
||||
;; and list of remaining users.
|
||||
(define (mbase-merge-dokuwiki mb dw)
|
||||
(let loop ((dw dw)
|
||||
(mb mb)
|
||||
(rem '()))
|
||||
(if (null? dw)
|
||||
(values mb rem)
|
||||
(let* ((row (car dw))
|
||||
(username (car row))
|
||||
(mr (find-member-by-nick mb username))
|
||||
(groups (list-ref row 3))
|
||||
(email (list-ref row 2)))
|
||||
(if mr
|
||||
(let ((mid (brmember-id mr)))
|
||||
(loop (cdr dw)
|
||||
(mbase-update mb
|
||||
(lambda (mr)
|
||||
(eq? (brmember-id mr) mid))
|
||||
(lambda (mr)
|
||||
(let ((dws (ldict-ref mr 'dokuwiki (make-ldict))))
|
||||
(brmember-set mr #:dokuwiki
|
||||
(ldict-set
|
||||
(ldict-set dws 'groups groups)
|
||||
'email email)))))
|
||||
rem))
|
||||
(loop (cdr dw)
|
||||
mb
|
||||
(cons row rem)))))))
|
||||
(if (null? dw)
|
||||
(values (mbase-update mb
|
||||
(lambda (mr) #t)
|
||||
(lambda (mr)
|
||||
(brmember-set mr #:dokuwiki #t)))
|
||||
dw)
|
||||
(let loop ((dw dw)
|
||||
(mb mb)
|
||||
(rem '()))
|
||||
(if (null? dw)
|
||||
(values mb rem)
|
||||
(let* ((row (car dw))
|
||||
(username (car row))
|
||||
(mr (find-member-by-nick mb username))
|
||||
(groups (list-ref row 3))
|
||||
(email (list-ref row 2)))
|
||||
(if mr
|
||||
(let ((mid (brmember-id mr)))
|
||||
(loop (cdr dw)
|
||||
(mbase-update mb
|
||||
(lambda (mr)
|
||||
(eq? (brmember-id mr) mid))
|
||||
(lambda (mr)
|
||||
(let ((dws (ldict-ref mr 'dokuwiki (make-ldict))))
|
||||
(brmember-set mr #:dokuwiki
|
||||
(ldict-set
|
||||
(ldict-set dws 'groups groups)
|
||||
'email email)))))
|
||||
rem))
|
||||
(loop (cdr dw)
|
||||
mb
|
||||
(cons row rem))))))))
|
||||
|
||||
;; Simple syntax wrapper
|
||||
(define-syntax with-mbase-progress%
|
||||
|
|
|
@ -136,11 +136,13 @@
|
|||
(mailman (list (list "Mailing Lists"
|
||||
(string-intersperse (brmember-mailman mr) "\n"))))
|
||||
(dokuwiki (if (ldict-contains? mr 'dokuwiki)
|
||||
(list (list "DokuWiki"
|
||||
(format "Groups: ~A\nEmail: ~A"
|
||||
(brmember-sub-ref mr 'dokuwiki 'groups)
|
||||
(brmember-sub-ref mr 'dokuwiki 'email)
|
||||
)))
|
||||
(if (eq? (ldict-ref mr 'dokuwiki) #t)
|
||||
(list #f)
|
||||
(list (list "DokuWiki"
|
||||
(format "Groups: ~A\nEmail: ~A"
|
||||
(brmember-sub-ref mr 'dokuwiki 'groups)
|
||||
(brmember-sub-ref mr 'dokuwiki 'email)
|
||||
))))
|
||||
(list (list (ansi-string #:red "DokuWiki")
|
||||
(ansi-string #:red "---")))))
|
||||
(result (filter identity (append head body mailman dokuwiki))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue