That was it. Rounding down to 9 decimal places works. Thank you!
-----Original Message----- From: John Ralls <jra...@ceridwen.us> Sent: Wednesday, May 08, 2024 10:13 PM To: Kalpesh Patel <kalpesh.pa...@usa.net> Cc: GnuCash User <gnucash-user@gnucash.org> Subject: Re: [GNC] Stomped with interface between GNC (v4.18) and F::Q (v1.61_02) Kalpesh, I think your price has too many digits. Try rounding it to 10E-9. Regards, John Ralls > On May 8, 2024, at 09:05, Kalpesh Patel <kalpesh.pa...@usa.net> wrote: > > Hi GNC User community - > > > > I am developing a second F::Q module of my own. The first one works > fine but second one seems to NOT want to work no matter what. I am in > middle of debugging it and it has stomped me why not so hoping someone > might be able to help me zero in where I am falling sort on the flow > for it. I am working with F::Q v1.61_02 and GNC v4.14 > (4.14+(2023-03-25) build) running on Windows 11. (Note: I don't > believe any interface change has taken place in GNC v5.x that would cause this but correct me here if I am wrong.). > > > > Invoking GNC with debug shows that return value is #f, which means > something went wrong (run_executor is the "label" for my module and > other modules work fine from the debug output): > > > > 11:19:24 DEBUG <gnc.scm> handling-request: (currency INR USD) > > * 11:19:24 DEBUG <gnc.scm> results: ((INR (symbol . INR) (gnc:time-no-zone . > 2024-05-08 11:19:11) (last . 3/250) (currency . USD))) > > * 11:20:38 DEBUG <gnc.scm> ALPHAVANTAGE_API_KEY=NOTAREALAPIKEY > > * 11:20:39 DEBUG <gnc.scm> handling-request: (tsp C S L2030 I) > > * 11:20:43 DEBUG <gnc.scm> results: ((C (symbol . C) (gnc:time-no-zone . > 2024-05-07 12:00:00) (last . 812423/10000) (currency . USD)) (S > (symbol . S) (gnc:time-no-zone . 2024-05-07 12:00:00) (last . 4009/50) > (currency . USD)) > (L2030 (symbol . L2030) (gnc:time-no-zone . 2024-05-07 12:00:00) (last . > 237163/5000) (currency . USD)) (I (symbol . I) (gnc:time-no-zone . > 2024-05-07 12:00:00) (last . 42507/1000) (currency . USD))) > > * 11:20:43 DEBUG <gnc.scm> handling-request: (run_executor BK) > > * 11:20:43 DEBUG <gnc.scm> results: (#f) > > * 11:20:43 DEBUG <gnc.scm> handling-request: (yahoojson ^NYA) > > * 11:20:44 DEBUG <gnc.scm> results: ((^NYA (symbol . ^NYA) > (gnc:time-no-zone . 2024-05-08 12:00:00) (last . 2247813/125) > (currency . USD))) > > > > Following is debug run from command line of gnc-fq-dump (which > provides all necessary fields for quote to be valid as it does not > show '** This stock quote cannot be used by GnuCash!' message): > > > > C:\Users\kalpesh>perl "c:\Program Files (x86)\gnucash\bin\gnc-fq-dump" > -v run_executor BK > > {snip} > > ### [Wed May 8 11:34:40 2024] %info : { > > ### 'BKISIN' => '-', > > ### 'BKcurrency' => 'USD', > > ### 'BKdate' => '05/08/2024', > > ### 'BKisodate' => '2024-05-08', > > ### 'BKmethod' => 'run_executor', > > ### 'BKprice' => '57.64500045776367', > > ### 'BKsuccess' => '1', > > ### 'BKsymbol' => 'BK', > > ### 'BKtimezone' => 'EDT' > > ### } > > Finance::Quote fields Gnucash uses: > > symbol: BK <=== required > > date: 05/08/2024 <=== recommended > > currency: USD <=== required > > last: <=\ > > nav: <=== one of these > > price: 57.64500045776367 <=/ > > timezone: EDT <=== optional > > > > All fields returned by Finance::Quote for stock BK > > > > stock field value > > ----- ----- ----- > > BK ISIN: - > > BK currency: USD > > BK date: 05/08/2024 > > BK isodate: 2024-05-08 > > BK method: run_executor > > BK price: 57.64500045776367 > > BK success: 1 > > BK symbol: BK > > BK timezone: EDT > > > > > > C:\Users\kalpesh> > > > > When running same command via YahooJSON following is the output which > works fine (I see that it does have more information returned back): > > > > C:\Users\kalpesh>perl "c:\Program Files (x86)\gnucash\bin\gnc-fq-dump" > -v yahoojson BK > > {snip} > > Finance::Quote fields Gnucash uses: > > symbol: BK <=== required > > date: 05/08/2024 <=== recommended > > currency: USD <=== required > > last: 57.605 <=\ > > nav: <=== one of these > > price: <=/ > > timezone: <=== optional > > > > All fields returned by Finance::Quote for stock BK > > > > stock field value > > ----- ----- ----- > > BK close: 57.4 > > BK currency: USD > > BK date: 05/08/2024 > > BK div_yield: 2.8397212 > > BK eps: 3.99 > > BK exchange: NYSE > > BK high: 57.75 > > BK isodate: 2024-05-08 > > BK last: 57.605 > > BK low: 57.12 > > BK method: yahoo_json > > BK name: BK (The Bank of New York Mellon Cor) > > BK open: 57.23 > > BK pe: 14.437344 > > BK success: 1 > > BK symbol: BK > > BK type: EQUITY > > BK volume: 730814 > > BK year_range: 39.65 - 58.28 > > > > > > C:\Users\kalpesh> > > > > Given that, why would GNC not accept the pricing? Does it have to be > in a particular order what is returned back, or is there anything else > that GNC wants but is not present in the returned quote from my > module? Only difference I see is that my module returns "price" > parameter while YahooJSON returns "last" but gnc-fq-dump states that > either is acceptable for GNC (just for kicks-&-giggles I set my module > to return last instead of price and removed timezone but it made no > difference, ie., GNC still did not take it as valid pricing). I prefer > to limit number of returned elements to be very minimal for speed > reasons but still entails valid pricing. Any insight will be greatly appreciated. > > > > > > > > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.