Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GNC-FQ-HELPER(1)      User Contributed Perl Documentation     GNC-FQ-HELPER(1)

       gnc-fq-helper  -	 allows	gnucash	to communicate with Finance::Quote
			 over pipes from guile.	The requests and responses
			 are scheme forms.


       Input: (on standard input - one entry per line and one line per entry,
       and double quotes must only be delimiters, not string content --
       remember, we don't have a real scheme parser on the perl	side :>).

       (<method-name> symbol symbol symbol ...)

       where <method-name> indicates the desired Finance::Quote	method.	 One
       can list	the many methods by running gnc-fq-check.

       For currency quotes, the	symbols	alternate between the 'from' and 'to'

       For example:

       (alphavantage "IBM" "LNUX") (fidelity_direct "FBIOX" "FSELX") (currency
       "USD" "AUD")

       Output (on standard output, one output form per input line):

       Schemified version of gnc-fq's output, basically	an alist of alists, as
       in the example below.  Right now, only the fields that this script
       knows about (and	knows how to convert to	scheme)	are returned, so the
       conversion function will	have to	be updated whenever Finance::Quote
       changes.	 Currently you'll get symbol, gnc:time-no-zone,	and currency,
       and either last,	nav, or	price.	Fields with gnc: prefixes are
       non-Finance::Quote fields.  gnc:time-no-zone is returned	as a string of
       the form	"YYYY-MM-DD HH:MM:SS", basically the unmolested	(and
       underspecified) output of the quote source.  It's up to you to know
       what it's proper	timezone really	is.  i.e. if you know the time was in
       America/Chicago,	you'll need to convert it to that.

       For example:

	$ echo '(alphavantage "CSCO" "JDSU" "^IXIC")' |	./gnc-fq-helper
       (("CSCO"	(symbol	. "CSCO")
		(gnc:time-no-zone . "2001-03-13	19:27:00")
		(last .	20.375)
		(currency . "USD"))
	("JDSU"	(symbol	. "JDSU")
		(gnc:time-no-zone . "2001-03-13	19:27:00")
		(last .	23.5625)
		(currency . "USD"))
       ("^IXIC"	(symbol	. ^IXIC)
		(gnc:time-no-zone . 2002-12-04 17:16:00)
		(last .	1430.35)
		(currency . failed-conversion)))

       On error, the overall result may	be #f, or on individual	errors,	the
       list sub-item for a given symbol	may be #f, like	this:

	$ echo '(alphavantage "CSCO" "JDSU")' |	./gnc-fq-helper
	("JDSU"	(symbol	. "JDSU")
		(gnc:time-no-zone . "2001-03-13	19:27:00")
		(last .	23.5625)
		(currency . "USD")))

       further,	errors may be stored with each quote as	indicated in
       Finance::Quote, and whenever the	conversion to scheme data fails, the
       field will have the value 'failed-conversion, and accordingly this
       symbol will never be a legitimate conversion.

       Exit status

       0 - success non-zero - failure

perl v5.32.1			  2021-09-22		      GNC-FQ-HELPER(1)


Want to link to this manual page? Use this URL:

home | help