Generate file based on command-line argument.

This commit is contained in:
Dominik Pantůček 2024-12-26 21:08:28 +01:00
parent fe42315cd9
commit 51a108ce64
3 changed files with 21 additions and 8 deletions

View file

@ -562,7 +562,10 @@ mailinglist.o: mailinglist.import.scm
mailinglist.import.scm: $(MAILINGLIST-SOURCES) mailinglist.import.scm: $(MAILINGLIST-SOURCES)
EXPORT-SHEET-SOURCES=export-sheet.scm mbase.import.scm \ EXPORT-SHEET-SOURCES=export-sheet.scm mbase.import.scm \
brmember.import.scm brmember.import.scm brmember-format.import.scm \
util-bst-ldict.import.scm members-payments.import.scm \
util-format.import.scm members-fees.import.scm \
cal-period.import.scm
export-sheet.o: export-sheet.import.scm export-sheet.o: export-sheet.import.scm
export-sheet.import.scm: $(EXPORT-SHEET-SOURCES) export-sheet.import.scm: $(EXPORT-SHEET-SOURCES)

View file

@ -35,6 +35,7 @@
(chicken base) (chicken base)
(chicken string) (chicken string)
(chicken format) (chicken format)
srfi-1
mbase mbase
brmember brmember
brmember-format brmember-format
@ -42,10 +43,10 @@
members-payments members-payments
util-format util-format
members-fees members-fees
srfi-1) cal-period)
(define (print-attendance-sheet MB) (define (print-attendance-sheet MB)
(print "\\documentclass[11pt]{article}") (print "\\documentclass[10pt]{article}")
(print "\\usepackage[top=1cm,left=2cm,right=2cm,bottom=2cm]{geometry}") (print "\\usepackage[top=1cm,left=2cm,right=2cm,bottom=2cm]{geometry}")
(print "\\begin{document}") (print "\\begin{document}")
(print "\\begin{center}") (print "\\begin{center}")
@ -58,7 +59,7 @@
(print "\\vskip1em") (print "\\vskip1em")
(newline) (newline)
(define colnames (define colnames
'((id) Nick Name Surname (Balance) (Active) Signature)) '((id) Nick Name Surname (Fee) (Balance) (Active) Signature))
(print (print
(format (format
"\\begin{tabular}{|~A|}" "\\begin{tabular}{|~A|}"
@ -110,9 +111,14 @@
(acal12 (map cadr rcal12)) (acal12 (map cadr rcal12))
(acal12* (map (lambda (f) (if (memq 'active f) 1 0)) acal12)) (acal12* (map (lambda (f) (if (memq 'active f) 1 0)) acal12))
(numactive (foldl + 0 acal12*)) (numactive (foldl + 0 acal12*))
(spec-fee (brmember-spec-fee mr))
(current-fee (if spec-fee
spec-fee
(member-calendar-entry->fee
(list (*current-month*)
(brmember-flags mr)
spec-fee))))
) )
(display acal12* (current-error-port))
(newline (current-error-port))
(print (print
(brmember-id mr) (brmember-id mr)
" & " " & "
@ -124,6 +130,8 @@
" & " " & "
sname sname
" & " " & "
(format-amount current-fee)
" & "
(format-amount (format-amount
(member-total-balance mr)) (member-total-balance mr))
" & " " & "

View file

@ -185,6 +185,7 @@
(-fname- file:gnuplot-data)) (-fname- file:gnuplot-data))
(-sheet (filename) "Generate attendance sheet" (-sheet (filename) "Generate attendance sheet"
(-needs-bank- #t) (-needs-bank- #t)
(-fname- filename)
(-action- 'gen-sheet)) (-action- 'gen-sheet))
"" ""
@ -361,7 +362,8 @@
(gen-html-members MB (-web-dir-))) (gen-html-members MB (-web-dir-)))
((gen-sheet) ((gen-sheet)
(log-info "Generating attendance sheet") (log-info "Generating attendance sheet")
(print-attendance-sheet MB)) (parameterize ((current-output-port (open-output-file (-fname-))))
(print-attendance-sheet MB)))
((edit) ((edit)
(if mr (if mr
(let () (let ()