Basic calendar processing.

This commit is contained in:
Dominik Pantůček 2023-03-27 20:58:38 +02:00
parent 6c8d2c8dbd
commit 2a6b364b4a
3 changed files with 30 additions and 3 deletions

View file

@ -43,7 +43,8 @@ BBSTOOL-DEPS=bbstool.scm testing.import.scm listing.import.scm \
members-base.import.scm utils.import.scm primes.import.scm \ members-base.import.scm utils.import.scm primes.import.scm \
member-record.import.scm configuration.import.scm \ member-record.import.scm configuration.import.scm \
progress.import.scm table.import.scm cards.import.scm \ progress.import.scm table.import.scm cards.import.scm \
member-parser.import.scm member-print.import.scm member-parser.import.scm member-print.import.scm \
member-fees.import.scm
BBSTOOL-SOURCES=bbstool.scm testing.scm listing.scm dictionary.scm \ BBSTOOL-SOURCES=bbstool.scm testing.scm listing.scm dictionary.scm \
month.scm period.scm ansi.scm command-line.scm \ month.scm period.scm ansi.scm command-line.scm \
@ -205,3 +206,10 @@ MEMBER-PRINT-SOURCES=member-print.scm dictionary.import.scm \
member-print.so: member-print.o member-print.so: member-print.o
member-print.o: member-print.import.scm member-print.o: member-print.import.scm
member-print.import.scm: $(MEMBER-PRINT-SOURCES) member-print.import.scm: $(MEMBER-PRINT-SOURCES)
MEMBER-FEES-SOURCES=member-fees.scm configuration.import.scm \
member-record.import.scm month.import.scm
member-fees.so: member-fees.o
member-fees.o: member-fees.import.scm
member-fees.import.scm: $(MEMBER-FEES-SOURCES)

View file

@ -40,7 +40,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
table table
cards cards
member-print member-print
member-parser) member-parser
member-fees)
;; Print banner ;; Print banner
(print "bbstool 0.5 (c) 2023 Brmlab, z.s.") (print "bbstool 0.5 (c) 2023 Brmlab, z.s.")
@ -134,7 +135,9 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(print "Current month: " (month->string (*current-month*))) (print "Current month: " (month->string (*current-month*)))
(newline) (newline)
(if mr (if mr
(print-member-table mr) (let ()
(print-member-table mr)
(print (member-calendar mr)))
(print-members-base-table MB)) (print-members-base-table MB))
(newline)) (newline))
((print-stats) ((print-stats)

View file

@ -29,6 +29,9 @@
member-fees member-fees
( (
member-calendar member-calendar
member-calendar-first-month
member-calendar-last-month
member-calendar-query
member-calendar->fees member-calendar->fees
) )
@ -56,6 +59,19 @@
(member-flags mr))) (member-flags mr)))
cal)))))) cal))))))
;; Returns the first month of the calendar
(define (member-calendar-first-month mc)
(caar mc))
;; Returns the last month of the calendar
(define (member-calendar-last-month mc)
(caar (reverse mc)))
;; Returns the calendar entry which matches given month or #f if none
;; found.
(define (member-calendar-query mc m)
(assoc m mc))
(define (member-calendar->fees mr) (define (member-calendar->fees mr)
#f) #f)