[GNC-dev] Bug 798466 - Propagating Errors Messages From Finance::Quote to GnuCash

Bruce Schuck bschuck at asgard-systems.com
Sun May 22 17:04:09 EDT 2022


Hello,

I've been reading bugs https://bugs.gnucash.org/show_bug.cgi?id=798466 
and https://bugs.gnucash.org/show_bug.cgi?id=798449. Looking at the 
GnuCash source, specifically gnucash/price-quotes.scm and 
libgnucash/quotes/gnc-fq-helper.in, I notice that the "errormsg" value 
passed as part of the data returned from most of the F::Q modules is 
ignored and not utilized.

Perhaps displaying the string(s) returned when F::Q fails would be 
helpful? Fetching multiple stock quotes, especially when they are 
fetched from different sources, could result in multiple error messages 
during a price update.

To see different messages change 'demo' to '' or a random string in the 
following code.

=====

use Finance::Quote;
my $q = Finance::Quote->new('alphavantage' => {API_KEY => 'demo'});
%quotes = $q->fetch("alphavantage", "F");
print "The price of Ford is " . $quotes{"F", "last"} . "\n";
if ( defined($quotes{"F","errormsg"}) ) {
   print "Errormsg: " . $quotes{"F","errormsg"} . "\n";
}

Returns:

The price of Ford is
Errormsg: The **demo** API key is for demo purposes only. Please claim 
your free API key at (https://www.alphavantage.co/support/#api-key) to 
explore our full API offerings. It takes fewer than 20 seconds.

=====

use Finance::Quote;
my $q = Finance::Quote->new('alphavantage' => {API_KEY => ''});
%quotes = $q->fetch("alphavantage", "F");
print "The price of Ford is " . $quotes{"F", "last"} . "\n";
if ( defined($quotes{"F","errormsg"}) ) {
   print "Errormsg: " . $quotes{"F","errormsg"} . "\n";
}

Returns:

The price of Ford is
Errormsg: the parameter apikey is invalid or missing. Please claim your 
free API key on (https://www.alphavantage.co/support/#api-key). It 
should take less than 20 seconds.

=====

Oddly enough while experimenting with this I found that any random 
string can be used as a "free" AlphaVantage API key. I reported this to 
them last year and so far the behavior has not changed.

BTW - I hope to have F::Q 1.52 released next month.

- Bruce S.


More information about the gnucash-devel mailing list