mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-20 11:48:30 -06:00
[price-quotes] compact gnc:fq-check-sources
improve locality of vars.
This commit is contained in:
parent
fab1c8db3e
commit
d5122c97ea
@ -68,35 +68,28 @@
|
|||||||
(string-append (gnc-path-get-bindir) "/gnc-fq-check"))
|
(string-append (gnc-path-get-bindir) "/gnc-fq-check"))
|
||||||
|
|
||||||
(define (gnc:fq-check-sources)
|
(define (gnc:fq-check-sources)
|
||||||
(let ((program '())
|
(let ((program #f))
|
||||||
(from-child #f))
|
|
||||||
|
|
||||||
(define (start-program)
|
(define (start-program)
|
||||||
(if (not (string-null? gnc:*finance-quote-check*))
|
(set! program
|
||||||
(set! program (gnc-spawn-process-async
|
(gnc-spawn-process-async
|
||||||
(list "perl" "-w" gnc:*finance-quote-check*) #t))))
|
(list "perl" "-w" gnc:*finance-quote-check*) #t)))
|
||||||
|
|
||||||
(define (get-sources)
|
(define (get-sources)
|
||||||
(if (not (null? program))
|
(when program
|
||||||
(let ((results #f))
|
(catch #t
|
||||||
(set! from-child (fdes->inport (gnc-process-get-fd program 1)))
|
|
||||||
(catch
|
|
||||||
#t
|
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(set! results (read from-child))
|
(let ((results (read (fdes->inport (gnc-process-get-fd program 1)))))
|
||||||
(gnc:debug "results: " results)
|
(gnc:debug "gnc:fq-check-sources results: " results)
|
||||||
results)
|
results))
|
||||||
(lambda (key . args)
|
(lambda (key . args) key))))
|
||||||
key)))))
|
|
||||||
|
|
||||||
(define (kill-program)
|
(define (kill-program)
|
||||||
(if (not (null? program))
|
(when program
|
||||||
(gnc-detach-process program #t)))
|
(gnc-detach-process program #t)
|
||||||
|
(set! program #f)))
|
||||||
|
|
||||||
(dynamic-wind
|
(dynamic-wind start-program get-sources kill-program)))
|
||||||
start-program
|
|
||||||
get-sources
|
|
||||||
kill-program)))
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user