Delete destroyed members generated files.

This commit is contained in:
Dominik Pantůček 2023-06-26 21:32:13 +02:00
parent 3182ac8b4e
commit c4f81dacbe

View file

@ -36,6 +36,7 @@
(chicken format) (chicken format)
(chicken pathname) (chicken pathname)
(chicken string) (chicken string)
(chicken file)
brmember brmember
util-dir util-dir
mbase mbase
@ -159,11 +160,25 @@
(lambda () (lambda ()
(print-html-member mr))))) (print-html-member mr)))))
;; Removes all generated files which do not belong to any member
(define (clean-members-files mb dir)
(let loop ((fns (directory dir)))
(when (not (null? fns))
(let* ((fn (car fns))
(utl (string-split fn "."))
(username (car utl))
(mr (find-member-by-nick mb username)))
(when (or (not mr)
(brmember-destroyed? mr))
(delete-file (make-pathname dir fn)))
(loop (cdr fns))))))
;; Generates all members in given directory ;; Generates all members in given directory
(define (gen-html-members mb dir) (define (gen-html-members mb dir)
(ensure-directory dir) (ensure-directory dir)
(with-mbase-progress% (with-mbase-progress%
mb dir mr mb dir mr
(gen-html-member mr dir))) (gen-html-member mr dir))
(clean-members-files mb dir))
) )