Skip dokuwiki checks if no dokuwiki is loaded.

This commit is contained in:
Dominik Pantůček 2023-06-26 21:48:16 +02:00
parent c4f81dacbe
commit 697dcd24db
2 changed files with 39 additions and 31 deletions

View file

@ -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%