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 \
member-record.import.scm configuration.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 \
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.o: member-print.import.scm
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
cards
member-print
member-parser)
member-parser
member-fees)
;; Print banner
(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*)))
(newline)
(if mr
(let ()
(print-member-table mr)
(print (member-calendar mr)))
(print-members-base-table MB))
(newline))
((print-stats)

View file

@ -29,6 +29,9 @@
member-fees
(
member-calendar
member-calendar-first-month
member-calendar-last-month
member-calendar-query
member-calendar->fees
)
@ -56,6 +59,19 @@
(member-flags mr)))
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)
#f)