Kalpesh, Bruce posted at https://github.com/finance-quote/finance-quote/issues/335#issuecomment-1676443182: "While the fix did not make it into v1.58, you can download and install BPSCHUCK/Finance-Quote-1.58_01.tar.gz from CPAN for testing/verification. It also has what I hope is a fix for TSP. It was not returning the hash if the GET failed or if the body of the response produced a CSV file."
That's the BSEIndia issue; https://github.com/finance-quote/finance-quote/issues/338 is the TSP one. If you find more problems with TSP (or anything else in F::Q) and want to help debug it the best way to communicate with Bruce and stay up to date would be to open an issue at https://github.com/finance-quote/finance-quote/issues/. You can post here too if you want, but a Github issue is a better place to put debugging results. Regards, John Ralls > On Aug 14, 2023, at 1:54 PM, Kalpesh Patel <kalpesh.pa...@usa.net> wrote: > > Some good find in debugging ... Strawberry Perl cannot resolve the FQDN name > one out of three times for www.tsp.gov on my system (this might be > obfuscating the client behavior in response to real backend issue). It might > be that I am reaching servers that are in error state (rc = 500 which is > Internal Server Error; my observation on F::Q could be cause of concern on > amount of data being returned). Below is the output from the failed run: > > C:\Users\kalpesh\OneDrive\QuickenStuff\HELPERS>set DEBUG=1 > > C:\Users\kalpesh\OneDrive\QuickenStuff\HELPERS>test2.pl > > ### [Mon Aug 14 16:26:56 2023] YIND_URL_HEAD : > 'https://query1.finance.yahoo.com/v8/finance/chart/' > ### [Mon Aug 14 16:26:56 2023] YIND_URL_TAIL : > '?interval=1d&period1=1691440016&period2=1692044816' > > ### AlphaVantage->new args : {} > > ### COUNT_URL: 'http://www.panix.com/~hd-fxsts/finance-quote.html?tsp' > ### Code: '200' > > ### [Mon Aug 14 16:26:56 2023] url : > 'https://www.tsp.gov/data/fund-price-history.csv?startdate=2023-08-07&enddate=2023-08-14&Lfunds=1&InvFunds=1&download=1' > ### [Mon Aug 14 16:26:56 2023] reply: bless( { > ### _content => 'Can\'t connect to > www.tsp.gov:443 (nodename nor servname provided, or not known) > > nodename nor servname provided, or not known at > C:/Strawberry/perl/site/lib/LWP/Protocol/http.pm line 50. > ', > ### _headers => bless( { > ### > '::std_case' => { > ### > 'client-date' => 'Client-Date', > ### > 'client-warning' => 'Client-Warning' > ### > }, > ### > 'client-date' => 'Mon, 14 Aug 2023 20:26:56 GMT', > ### > 'client-warning' => 'Internal response', > ### > 'content-type' => 'text/plain' > ### }, > 'HTTP::Headers' ), > ### _msg => 'Can\'t connect to > www.tsp.gov:443 (nodename nor servname provided, or not known)', > ### _rc => 500, > ### _request => bless( { > ### _content > => '', > ### _headers > => bless( { > ### > 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36' > ### > }, 'HTTP::Headers' ), > ### _method > => 'GET', > ### _uri => > bless( do{\(my $o = > 'https://www.tsp.gov/data/fund-price-history.csv?startdate=2023-08-07&enddate=2023-08-14&Lfunds=1&InvFunds=1&download=1')}, > 'URI::https' ) > ### }, > 'HTTP::Request' ) > ### }, 'HTTP::Response' ) > > C:\Users\kalpesh\OneDrive\QuickenStuff\HELPERS> > > My test file (test2.pl) is as follows: > > #test2.pl - start > > use Finance::Quote; > use Data::Dumper; > > $q = Finance::Quote->new; > > %info = $q->fetch('tsp', "L2030"); > > print Dumper(%info); > > # test2.pl - end > > > Interesting side notes for GNC (I am on Windows 11 with GNC v4.14 and now > F::Q v1.58 so might have some subtle from it): > > I was able to put the module in debug mode (set DEBUG=1 in cmd.exe; of course > install the Smart::Comment Perl module first) and have them write out the > smart comment messages to cmd console as you can see from above when I run a > small test file that I've created. However, when I lunch gnc in normal > fashion from the same console where debugging is enabled, the screen does not > display anything, not even the smart comment; it is almost like it is > ignoring all env settings or not being passed to sub-shell. Windows is > notorious for this so there may not be a "clean" way of doing so. There is a > new window that pops up and then disappears at the start up (this process > seems to be part normal start up - check if F::Q is there or not) and does > not display anything also. I attempted to start gnc with debug (with > --log=gnc.scm=debug option) as well but that also does not emit anything > either. On the note of specifying a file name for logging (--logto= > parameter), it does not create nor write any file anywhere on the file system when only a fixed file name is given. I took away that option and it was happy to write a file to %LOCALAPPDATA% path with gnucash.trace.<random_six_alphanumeric_characters>.log. > > > Interesting side notes for F::Q TSP module: > > When it does work properly, the return payload from HTTP seem to be hundreds > of lines if not thousands ... Here is the snippet of successful run: > > C:\Users\kalpesh\OneDrive\QuickenStuff\HELPERS>test2.pl > > ### [Mon Aug 14 15:42:00 2023] YIND_URL_HEAD : > 'https://query1.finance.yahoo.com/v8/finance/chart/' > ### [Mon Aug 14 15:42:00 2023] YIND_URL_TAIL : > '?interval=1d&period1=1691437320&period2=1692042120' > > ### AlphaVantage->new args : {} > > ### COUNT_URL: 'http://www.panix.com/~hd-fxsts/finance-quote.html?tsp' > ### Code: '200' > > ### [Mon Aug 14 15:42:01 2023] url : > 'https://www.tsp.gov/data/fund-price-history.csv?startdate=2023-08-07&enddate=2023-08-14&Lfunds=1&InvFunds=1&download=1' > ### [Mon Aug 14 15:42:01 2023] reply: bless( { > ### _content => 'Date,L Income,L > 2025,L 2030,L 2035,L 2040,L 2045,L 2050,L 2055,L 2060,L 2065,G Fund,F Fund,C > Fund,S Fund,I Fund > 2023-08-11,24.0849,12.2327,42.9435,12.8255,48.3009,13.1625,28.7245,14.0971,14.0954,14.0934,17.6469,18.3534,69.1565,70.2391,37.9419 > 2023-08-10,24.1082,12.2494,43.0380,12.8567,48.4288,13.1999,28.8108,14.1442,14.1425,14.1406,17.6449,18.4205,69.2207,70.3124,38.2391 > 2023-08-09,24.1016,12.2437,42.9976,12.8439,48.3758,13.1845,28.7742,14.1155,14.1139,14.1120,17.6429,18.5294,69.1951,70.4343,38.0083 > 2023-08-08,24.1272,12.2634,43.1181,12.8835,48.5391,13.2323,28.8859,14.1834,14.1818,14.1799,17.6409,18.5100,69.6795,71.0740,38.0127 > 2023-08-07,24.1541,12.2847,43.2515,12.9273,48.7198,13.2853,29.0100,14.2616,14.2599,14.2580,17.6389,18.4477,69.9736,71.7269,38.2463 > 2023-08-04,24.1053,12.2504,43.0581,12.8645,48.4638,13.2110,28.8379,14.1583,14.1566,14.1547,17.6328,18.4709,69.3457,71.4617,38.0032 > 2023-08-03,24.1034,12.2517,43.0826,12.8723,48.4974,13.2209,28.8626,14.1833,14.1815,14.1796,17.6308,18.3188,69.7102,71.6307,37.8756 > 2023-08-02,24.1277,12.2685,43.1728,12.9023,48.6200,13.2568,28.9449,14.2243,14.2226,14.2207,17.6289,18.4426,69.8850,71.8330,38.0070 > 2023-08-01,24.2277,12.3420,43.6036,13.0440,49.2020,13.4269,29.3407,14.4570,14.4553,14.4534,17.6269,18.4987,70.8648,73.1095,38.7558 > 2023-07-31,24.2660,12.3694,43.7577,13.0949,49.4108,13.4880,29.4819,14.5344,14.5328,14.5310,17.6249,18.6043,71.0523,73.4061,39.1413 > 2023-07-28,24.2467,12.3571,43.6964,13.0751,49.3307,13.4647,29.4283,14.5045,14.5029,14.5010,17.6191,18.5820,70.9459,72.6930,39.1484 > 2023-07-27,24.1833,12.3118,43.4387,12.9905,48.9842,13.3635,29.1936,14.3691,14.3675,14.3656,17.6172,18.5164,70.2457,71.6543,38.8820 > 2023-07-26,24.2258,12.3417,43.6042,13.0453,49.2086,13.4293,29.3454,14.4499,14.4484,14.4465,17.6152,18.6653,70.6948,72.5871,38.9458 > 2023-07-25,24.2163,12.3359,43.5775,13.0365,49.1733,13.4189,29.3220,14.4395,14.4379,14.4361,17.6133,18.6144,70.7047,72.2457,38.9313 > 2023-07-24,24.1974,12.3223,43.4989,13.0110,49.0687,13.3885,29.2512,14.3963,14.3947,14.3929,17.6114,18.6334,70.5044,72.1292,38.7806 > 2023-07-21,24.1841,12.3139,43.4569,12.9977,49.0157,13.3735,29.2167,14.3747,14.3732,14.3714,17.6055,18.6571,70.2201,72.1244,38.8425 > 2023-07-20,24.1808,12.3123,43.4515,12.9961,49.0096,13.3719,29.2133,14.3737,14.3722,14.3704,17.6036,18.6455,70.1974,72.2722,38.8218 > 2023-07-19,24.2266,12.3452,43.6382,13.0578,49.2628,13.4460,29.3849,14.4692,14.4677,14.4659,17.6017,18.7521,70.6685,73.1168,39.0026 > 2023-07-18,24.2119,12.3358,43.5911,13.0423,49.2001,13.4277,29.3433,14.4485,14.4469,14.4451,17.5998,18.6938,70.5015,72.8049,39.0442 > 2023-07-17,24.1639,12.3012,43.3926,12.9773,48.9337,13.3500,29.1627,14.3422,14.3407,14.3389,17.5978,18.6769,70.0036,72.0267,38.7854 > 2023-07-14,24.1430,12.2877,43.3244,12.9552,48.8445,13.3242,29.1032,14.3088,14.3072,14.3055,17.5920,18.6543,69.7345,71.3406,38.8917 > 2023-07-13,24.1672,12.3051,43.4224,12.9878,48.9782,13.3634,29.1941,14.3581,14.3566,14.3548,17.5901,18.7318,69.8035,72.0356,39.0693 > 2023-07-12,24.0841,12.2462,43.0912,12.8792,48.5343,13.2341,28.8948,14.1877,14.1862,14.1844,17.5881,18.6216,69.2107,71.2102,38.4014 > 2023-07-11,24.0007,12.1877,42.7678,12.7731,48.1017,13.1082,28.6041,14.0255,14.0239,14.0220,17.5862,18.4682,68.7006,70.6988,37.6648 > 2023-07-10,23.9468,12.1490,42.5478,12.7011,47.8070,13.0223,28.4048,13.9094,13.9078,13.9059,17.5843,18.4385,68.2399,69.6977,37.3488 > 2023-07-07,23.9111,12.1253,42.4239,12.6607,47.6429,12.9745,28.2947,13.8488,13.8471,13.8453,17.5785,18.3742,68.0764,68.6900,37.2301 > 2023-07-06,23.8994,12.1170,42.3776,12.6455,47.5804,12.9561,28.2516,13.8230,13.8214,13.8195,17.5765,18.3788,68.2614,68.0180,37.0282 > [snip] > > > Three observation on F::Q: > > 1) This request downloads CSVs that goes back to 2003-05-31 (20+ years!) even > though request is only for 7 days in the URL. It is like enddate= parameter > is ignored or incorrect parameter passed. Possibly a bug in TSP.pm module? > 2) Is the anonymous data collection of modules utilized still being > collected? Code execution is not harming anything if not being collected but > this is more curiosity on my part for v1.58 which was released few days back. > 3) Looks like Smart::Comment when activated emits messages for all modules > rather than the single one that is being instantiated for the source and > called to action. > > On to debugging the Perl LWP module... > > > > > -----Original Message----- > From: Bruce Schuck <bsch...@asgard-systems.com> > Sent: Friday, August 11, 2023 9:40 PM > To: gnucash-user@gnucash.org > Cc: Kalpesh Patel <kalpesh.pa...@usa.net>; john <jra...@ceridwen.us> > Subject: Re: [GNC] Strange prices update issue (possibly with TSP) > > On Aug 10, 2023, at 12:13, Kalpesh Patel <kalpesh.pa...@usa.net > <mailto:kalpesh.pa...@usa.net> > wrote: > >> The difficult part in debugging this is that when I do query three >> times from the command line, it succeeds without any issue for me as >> well, but when I update prices from GNC, it fails two times and then >> succeeds third time consistently. So this is not an issue with >> throttling from TSP source which you validated as well. Is there more >> in terms of debugging this by any chance? Can I use STDERR and STDOUT >> from Perl to emanate messages to console but not interfere with what >> JSON comes back or butcher the response back to gnc-fq-helper so it >> doesn't bomb to run a full cycles from GNC to test? Any help in debugging is >> appreciated. > > Kalpesh, > > Many, but not all, of the F::Q modules make use of the Smart::Comments > module. TSP.pm is one of them. The environment variable DEBUG will need to be > set, and with no changes to the Perl code you should see helpful information > printed to STDERR. In the code, these are lines that begin with "###" (note, > just 3 pound signs) in those modules using Smart::Comments. > > A quick look at the TSP module and I see two where the "tsp" method will > return *without* setting "success" and "errormsg" for any of the symbols > passed to it. This will happen if the http get call fails, or whatever is > downloaded is not 2 or more lines. > > my $reply = $ua->get($url, @HEADERS); > ### [<now>] url : $url > ### [<now>] reply: $reply > > return unless ($reply->is_success); > > my @line = split(/\n/, $reply->content); > > return unless (@line > 1); > > In the code snippet, there are two examples Smart::Comments use which could > be useful in your case. With DEBUG set the code would print the url to > STDERR, and entire $reply object (status, headers, cookies, body). > > Whether or not this helps you, the omission of not returning the proper > failure data is an issue. > > Hope this helps. > > Bruce S > _______________________________________________ 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.