diff --git a/bbstool.scm b/bbstool.scm index 7ed2c53..df3f8ae 100644 --- a/bbstool.scm +++ b/bbstool.scm @@ -145,7 +145,6 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. (print-member-table mr) (print-member-calendar-table mr) (print "Total fees: " (member-fees-total mr)) - (print-member-payments mr) ) (print-members-base-table MB)) (newline)) diff --git a/members-print.scm b/members-print.scm index a8e3e80..3e22835 100644 --- a/members-print.scm +++ b/members-print.scm @@ -32,7 +32,6 @@ print-member-info print-member-table print-member-source - print-member-payments print-members-base-info print-members-base-table print-members-base-stats @@ -81,8 +80,8 @@ (v (cdr kv))) (loop (cdr sinfo))))))) - ;; Prints nicely formatted table - (define (print-member-table mr) + ;; Returns nicely formatted table + (define (member-info->table mr) (let* ((aliases (dict-ref mr 'symlinks)) (mid (member-id mr)) (head (list (if (is-4digit-prime? mid) @@ -134,7 +133,18 @@ (ansi-string #:red #:bold "---"))))))) sikeys)) (result (filter identity (append head body)))) - (print (table->string result #:table-border #t #:row-border #t #:col-border #t #:ansi #t)))) + (table->string result #:table-border #f #:row-border #t #:col-border #t #:ansi #t))) + + ;; Prints nicely formatted table + (define (print-member-table mr) + (print + (table->string + (list (list "Basic Information" "Payments") + (list (member-info->table mr) + (member-payments->table mr)) + ) + #:row0-border #t + #:col-border #t))) ;; Nicely prints the member source with any errors recorded. (define (print-member-source mr) @@ -149,20 +159,19 @@ ))) ;; Prints nicely printed payments - (define (print-member-payments mr) - (print - (table->string (cons - (list "Var" "Amount" "Cur" "Date" "TrId") - (map (lambda (tr) - (list (sprintf "\t~A" (bank-transaction-varsym tr)) - (sprintf "\t~A" (bank-transaction-amount tr)) - (bank-transaction-currency tr) - (bank-transaction-date tr) - (bank-transaction-id tr))) - (member-payments mr))) - #:row0-border #t - #:col-border #t - ))) + (define (member-payments->table mr) + (table->string (cons + (list "Var" "Amount" "Cur" "Date" "TrId") + (map (lambda (tr) + (list (sprintf "\t~A" (bank-transaction-varsym tr)) + (sprintf "\t~A" (bank-transaction-amount tr)) + (bank-transaction-currency tr) + (bank-transaction-date tr) + (bank-transaction-id tr))) + (member-payments mr))) + #:row0-border #t + #:col-border #t + )) ;; Converts member records to string, optional arguments are format ;; and separator. Format defaults to "~N" and separator to ", ".