Start work on partial progresses coalesce.
This commit is contained in:
parent
7056b3a79b
commit
25f9143634
2 changed files with 31 additions and 1 deletions
|
@ -63,7 +63,7 @@
|
||||||
(make-bank-transaction id date amount currency varsym message type
|
(make-bank-transaction id date amount currency varsym message type
|
||||||
account bank specsym)))
|
account bank specsym)))
|
||||||
|
|
||||||
;; Loads Fio bank accound statement.
|
;; Loads Fio bank account statement.
|
||||||
(define (bank-fio-parse fn)
|
(define (bank-fio-parse fn)
|
||||||
(let ((csv (with-progress% #t fn (csv-parse fn))))
|
(let ((csv (with-progress% #t fn (csv-parse fn))))
|
||||||
(if csv
|
(if csv
|
||||||
|
|
|
@ -41,6 +41,11 @@
|
||||||
run-with-progress%
|
run-with-progress%
|
||||||
with-progress%
|
with-progress%
|
||||||
progress%-advance
|
progress%-advance
|
||||||
|
|
||||||
|
run-with-progresses%
|
||||||
|
with-progresses%
|
||||||
|
run-with-partial-progress%
|
||||||
|
with-partial-progress%
|
||||||
)
|
)
|
||||||
|
|
||||||
(import scheme
|
(import scheme
|
||||||
|
@ -178,6 +183,31 @@
|
||||||
echo? name
|
echo? name
|
||||||
(lambda () body ...)))))
|
(lambda () body ...)))))
|
||||||
|
|
||||||
|
;; Runs multiple partial progresses
|
||||||
|
(define (run-with-progresses% echo? name proc)
|
||||||
|
(proc))
|
||||||
|
|
||||||
|
;; Syntax wrapper
|
||||||
|
(define-syntax with-progresses%
|
||||||
|
(syntax-rules ()
|
||||||
|
((_ echo? name body ...)
|
||||||
|
(run-with-progresses%
|
||||||
|
echo? name
|
||||||
|
(lambda () body ...)))))
|
||||||
|
|
||||||
|
;; Adds name to list of partial progress names, uses the same
|
||||||
|
;; parameters as run-with-progress%
|
||||||
|
(define (run-with-partial-progress% name proc)
|
||||||
|
(proc))
|
||||||
|
|
||||||
|
;; Syntax wrapper
|
||||||
|
(define-syntax with-partial-progress%
|
||||||
|
(syntax-rules ()
|
||||||
|
((_ name body ...)
|
||||||
|
(run-with-partial-progress%
|
||||||
|
name
|
||||||
|
(lambda () body ...)))))
|
||||||
|
|
||||||
;; If the program uses progress module, disable buffering
|
;; If the program uses progress module, disable buffering
|
||||||
(set-buffering-mode! (current-output-port) #:none)
|
(set-buffering-mode! (current-output-port) #:none)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue