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-currency
|
||||||
bank-transaction-date
|
bank-transaction-date
|
||||||
bank-transaction-id
|
bank-transaction-id
|
||||||
|
bank-transaction-message
|
||||||
)
|
)
|
||||||
|
|
||||||
(import scheme
|
(import scheme
|
||||||
|
@ -67,6 +68,6 @@
|
||||||
(cdr account)))
|
(cdr account)))
|
||||||
|
|
||||||
;; Creates a new bank transaction.
|
;; 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)
|
(caddr row)
|
||||||
".")))
|
".")))
|
||||||
(currency (string->symbol (cadddr row)))
|
(currency (string->symbol (cadddr row)))
|
||||||
(varsym (list-ref row 9)))
|
(varsym (list-ref row 9))
|
||||||
(make-bank-transaction id date amount currency varsym)))
|
(message (list-ref row 12)))
|
||||||
|
(make-bank-transaction id date amount currency varsym message)))
|
||||||
|
|
||||||
;; Loads Fio bank accound statement.
|
;; Loads Fio bank accound statement.
|
||||||
(define (bank-fio-parse fn)
|
(define (bank-fio-parse fn)
|
||||||
|
|
|
@ -53,9 +53,15 @@
|
||||||
(if (null? transactions)
|
(if (null? transactions)
|
||||||
mb
|
mb
|
||||||
(let* ((transaction (car transactions))
|
(let* ((transaction (car transactions))
|
||||||
(varsym-id
|
(varsym-id0
|
||||||
(string->number
|
(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
|
(loop (members-base-update mb
|
||||||
(lambda (mr)
|
(lambda (mr)
|
||||||
(eq? (member-id mr)
|
(eq? (member-id mr)
|
||||||
|
|
|
@ -139,9 +139,12 @@
|
||||||
;; Normalizes cell line to required width and handles leading and
|
;; Normalizes cell line to required width and handles leading and
|
||||||
;; trailing tabs to allow for right and center alignment.
|
;; trailing tabs to allow for right and center alignment.
|
||||||
(define (table-normalize-cell-line line w)
|
(define (table-normalize-cell-line line w)
|
||||||
|
(print "tncl " w " \"" line "\"")
|
||||||
(let* ((lst (string->list line))
|
(let* ((lst (string->list line))
|
||||||
(first-char (if (null? lst) #f (car lst)))
|
(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))
|
(first-tab (eq? first-char #\tab))
|
||||||
(last-tab (eq? last-char #\tab))
|
(last-tab (eq? last-char #\tab))
|
||||||
(line0 (if first-tab (substring line 1) line))
|
(line0 (if first-tab (substring line 1) line))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue