Load messages and handle table string with single tab inside.
This commit is contained in:
parent
3edfe6c02a
commit
b72f1900e6
4 changed files with 17 additions and 6 deletions
|
@ -40,6 +40,7 @@
|
|||
bank-transaction-currency
|
||||
bank-transaction-date
|
||||
bank-transaction-id
|
||||
bank-transaction-message
|
||||
)
|
||||
|
||||
(import scheme
|
||||
|
@ -67,6 +68,6 @@
|
|||
(cdr account)))
|
||||
|
||||
;; Creates a new bank transaction.
|
||||
(define-record bank-transaction id date amount currency varsym)
|
||||
(define-record bank-transaction id date amount currency varsym message)
|
||||
|
||||
)
|
||||
|
|
|
@ -48,8 +48,9 @@
|
|||
(caddr row)
|
||||
".")))
|
||||
(currency (string->symbol (cadddr row)))
|
||||
(varsym (list-ref row 9)))
|
||||
(make-bank-transaction id date amount currency varsym)))
|
||||
(varsym (list-ref row 9))
|
||||
(message (list-ref row 12)))
|
||||
(make-bank-transaction id date amount currency varsym message)))
|
||||
|
||||
;; Loads Fio bank accound statement.
|
||||
(define (bank-fio-parse fn)
|
||||
|
|
|
@ -53,9 +53,15 @@
|
|||
(if (null? transactions)
|
||||
mb
|
||||
(let* ((transaction (car transactions))
|
||||
(varsym-id
|
||||
(varsym-id0
|
||||
(string->number
|
||||
(bank-transaction-varsym transaction))))
|
||||
(bank-transaction-varsym transaction)))
|
||||
(varsym-id
|
||||
(or varsym-id0
|
||||
(string->number
|
||||
(irregex-replace (irregex "[^0-9].*" 'u)
|
||||
(bank-transaction-message transaction)
|
||||
"")))))
|
||||
(loop (members-base-update mb
|
||||
(lambda (mr)
|
||||
(eq? (member-id mr)
|
||||
|
|
|
@ -139,9 +139,12 @@
|
|||
;; Normalizes cell line to required width and handles leading and
|
||||
;; trailing tabs to allow for right and center alignment.
|
||||
(define (table-normalize-cell-line line w)
|
||||
(print "tncl " w " \"" line "\"")
|
||||
(let* ((lst (string->list line))
|
||||
(first-char (if (null? lst) #f (car lst)))
|
||||
(last-char (if (null? lst) #f (car (reverse lst))))
|
||||
(last-char (if (or (null? lst)
|
||||
(null? (cdr lst)))
|
||||
#f (car (reverse lst))))
|
||||
(first-tab (eq? first-char #\tab))
|
||||
(last-tab (eq? last-char #\tab))
|
||||
(line0 (if first-tab (substring line 1) line))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue