Re: [mh] Weather and Weather_Chance_Of_Rain
George Clark <[email protected]>
| Newsgroups | gmane.comp.misc.misterhouse.user |
|---|---|
| Message-ID | <[email protected]> |
Brian, That's consistent with a project I worked on. They use "unshift" to add the project's lib path to the head of the path and "push" to add the last resort module path. George On 12/9/20 7:00 PM, Brian M wrote: > All, > > The only way I can see to place a directory at the *end* of @INC, is > to push it there manually. There doesn't seem to be any mechanism to > do that via "use lib" or similar. Pushing it isn't hard -- it just > seems kludgy and loses some of the additional functionality of "use > lib" (compiled modules, architecture-specific versions, etc.). I'd > love to hear of a better way if anybody has one. > > Stephen, > > Meanwhile, would you please test the following change to get_weather > for me? It works on my system, but I'd like to have you try it before > I start issuing pull requests: > > In line 86, please replace: > > eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site', > '$Pgm_Path/../lib/fallback'"; > > with: > > eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site';"; > eval "push \@INC, '$Pgm_Path/../lib/fallback';"; > > This should solve the issue you discovered. If your interested, you > can check %INC afterwards, and I bet you don't find very many routines > loaded from fallback anymore. I didn't find any on my system, but I > may have more Perl modules installed than you do. > > By the way ... you didn't discover a problem. You discovered an entire > class of problems. The patch I offered up last Spring that was > incorporated into MH master on June 5 was good as far as it went, but > it was only partially successful in achieving its objective. Your > observations and diagnosis should let me take it the rest of the way. > Good job, and thank you. > > -Brian M. > > On 12/9/20 9:27 AM, Brian M wrote: >> There's the problem! Fallback is listed third, when it's whole >> purpose is to *always* be listed last. >> >> You would have had the same problem if you'd tried this before we >> implemented the fallback library. All fallback did was relocate a >> bunch of modules out of ./../lib and into fallback, so they still >> would have preempted your system libraries even in the old location. >> >> I'll look into why fallback doesn't appear last like it should. In >> the mean time, if you want to fiddle @INC so that fallback appears >> last, I think you'll find the code works properly. >> >> I wouldn't commit any changes to remove fallback, as that's really >> band-aiding the problem rather than fixing it. It might work for you >> but not other people, because you are filling some module need >> through what's installed in your system libraries that they don't >> have but could get successfully from fallback if it were listed. >> Instead, I recommend you hold tight for a bit while I figure out what >> is mucking up @INC and putting fallback in the wrong position. >> Getting fallback to land naturally at the end of @INC is the right >> solution, and that doesn't appear get_weather.pl's fault. >> >> -Brian M >> >> On 12/9/20 7:28 AM, Stephen Switzer wrote: >>> Revisiting this again, I reverted all the changes that I made in my >>> internet_weather_fix commit and ONLY removed the fallback directory >>> from get_weather... all good. So, everything else I did was >>> unnecessary and probably created a regression somewhere. I fixed my >>> running code and await the advice from someone more experienced. >>> >>> Steve >>> >>> On Wed, Dec 9, 2020 at 12:59 AM Stephen Switzer <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> I very much appreciate your reply. I have a moment to dig in to >>> this before bed, so I change print Dumper(%INC); to print >>> Dumper(@INC); and ran it: >>> >>> @INC = ( >>> './../lib', >>> './../lib/site', >>> './../lib/fallback', >>> '/etc/perl', >>> '/usr/local/lib/x86_64-linux-gnu/perl/5.30.0', >>> '/usr/local/share/perl/5.30.0', >>> '/usr/lib/x86_64-linux-gnu/perl5/5.30', >>> '/usr/share/perl5', >>> '/usr/lib/x86_64-linux-gnu/perl/5.30', >>> '/usr/share/perl/5.30', >>> '/usr/local/lib/site_perl', >>> '/usr/lib/x86_64-linux-gnu/perl-base' >>> ); >>> Interestingly, when I placed the Dumper line at the beginning of >>> the file, it didn't change. When I place it inside the BEGIN >>> section: >>> BEGIN { >>> print Dumper(@INC); >>> eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site', >>> '$Pgm_Path/../lib/fallback'"; >>> } >>> >>> Then, I saw the library directories listed without any >>> MisterHouse directories, then the modified list after it, even >>> though it was physically after the other in the file: >>> >>> @INC = ( >>> '/etc/perl', >>> '/usr/local/lib/x86_64-linux-gnu/perl/5.30.0', >>> '/usr/local/share/perl/5.30.0', >>> '/usr/lib/x86_64-linux-gnu/perl5/5.30', >>> '/usr/share/perl5', >>> '/usr/lib/x86_64-linux-gnu/perl/5.30', >>> '/usr/share/perl/5.30', >>> '/usr/local/lib/site_perl', >>> '/usr/lib/x86_64-linux-gnu/perl-base' >>> ); >>> @INC = ( >>> './../lib', >>> './../lib/site', >>> './../lib/fallback', >>> '/etc/perl', >>> '/usr/local/lib/x86_64-linux-gnu/perl/5.30.0', >>> '/usr/local/share/perl/5.30.0', >>> '/usr/lib/x86_64-linux-gnu/perl5/5.30', >>> '/usr/share/perl5', >>> '/usr/lib/x86_64-linux-gnu/perl/5.30', >>> '/usr/share/perl/5.30', >>> '/usr/local/lib/site_perl', >>> '/usr/lib/x86_64-linux-gnu/perl-base' >>> ); >>> >>> However, I can accept that since "BEGIN" implies that execution >>> will BEGIN there. :) >>> >>> This makes whole problem is starting to make sense, since this >>> reference says that the directories provided in "use lib" are >>> _prepended_ to @INC: >>> https://docstore.mik.ua/orelly/perl2/prog/ch31_13.htm >>> >>> I can't find any documentation on how to append directories to >>> @INC, but I tried this: >>> >>> BEGIN { >>> print Dumper(@INC); >>> #eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site', >>> '$Pgm_Path/../lib/fallback'"; >>> eval "push @INC, '$Pgm_Path/../lib'"; >>> eval "push @INC, '$Pgm_Path/../lib/site'"; >>> eval "push @INC, '$Pgm_Path/../lib/fallback'"; >>> print Dumper(@INC); >>> } >>> >>> ...which didn't add to the array at all, nor did it give any >>> error... so I tried this: >>> >>> BEGIN { >>> print Dumper(@INC); >>> #eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site', >>> '$Pgm_Path/../lib/fallback'"; >>> push @INC, "$Pgm_Path/../lib"; >>> push @INC, "$Pgm_Path/../lib/site"; >>> push @INC, "$Pgm_Path/../lib/fallback"; >>> print Dumper(@INC); >>> } >>> >>> THAT WORKED... but according to the comment "perl2exe" won't be >>> happy with this approach. >>> >>> I think this explains it, but I have no further sense of >>> direction on this matter. It appeared that adding fallback to >>> this list was the issue, but then I remembered that the modules >>> were moved at the same time, so the old module would have been >>> found in site, and @INC was prepended at that time, too. >>> >>> I'm not sure what the right approach should be here. >>> >>> Steve >>> >>> >>> >>> On Mon, Dec 7, 2020 at 5:21 PM Brian M >>> <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Good work. You're right, that doesn't make sense, but I >>> think we'll figure it out. >>> >>> Instead of dumping %INC, would you please dump the contents >>> of @INC while get_weather is in it's broken configuration? >>> @INC is the list of library directories Perl is using to >>> find modules, in descending order of preference. I'd like to >>> see what it looks like from inside get_weather. I want to >>> know what's actually getting used, rather than what we're >>> configuring, in case something is monkeying with it along >>> the way. Fallback should be at the very end, since we only >>> want to use fallback if all other sources have been >>> exhausted. If it's not last, we need to find out why and fix >>> that. >>> >>> Also, did you "See note in lib/mh_perl2exe.pl >>> <http://mh_perl2exe.pl> for lib -> my_lib explaination" as >>> mentioned in the get_weather comments. I haven't, and given >>> what you're experiencing, maybe my_lib is the monkey >>> fiddling @INC. >>> >>> And no, you're not out of your league. You're just >>> diagnosing an issue in a big, complex project that's been >>> fiddled with by many people over time. I've been dabbling >>> with MH for over 15 years, and I still find it arcane. >>> Amazingly flexible and effective, but arcane. No fault to >>> HPlato and all the other big players in the MH world, >>> they've done great stuff. I value their contributions and >>> dedication, and they've been great helping me figure stuff >>> out. There's just a lot going on in MH, and that makes it >>> complex. >>> >>> -Brian M. >>> >>> On 12/7/20 1:43 PM, Stephen Switzer wrote: >>>> I'm starting to feel like a perl novice here. I'm not >>>> familiar with %INC and diagnosing this is confusing... but >>>> there's one thing here that's REALLY confusing me. I >>>> deleted URI, HTTP, LWP, etc, etc until there were NO >>>> fallback entries in %INC and it still didn't work. So, I >>>> removed the fallback directory from the list and it worked???? >>>> >>>> Below is the entire list of diagnostic steps I performed: >>>> >>>> This is my baseline %INC before doing anything: >>>> %INC = ( >>>> 'Exporter/Heavy.pm' => >>>> '/usr/share/perl/5.30/Exporter/Heavy.pm', >>>> 'lib.pm <http://lib.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/lib.pm <http://lib.pm>', >>>> 'Tie/IxHash.pm' => '../lib/fallback/Tie/IxHash.pm', >>>> 'Tie/Hash.pm' => '../lib/fallback/Tie/Hash.pm', >>>> 'HTTP/Response.pm' => >>>> '../lib/fallback/HTTP/Response.pm', >>>> 'LWP/Simple.pm' => '../lib/fallback/LWP/Simple.pm', >>>> 'Text/Balanced.pm' => >>>> '/usr/share/perl/5.30/Text/Balanced.pm', >>>> 'IO.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO.pm', >>>> 'Fcntl.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Fcntl.pm', >>>> 'URI/Escape.pm' => '../lib/fallback/URI/Escape.pm', >>>> 'strict.pm <http://strict.pm>' => >>>> '/usr/share/perl/5.30/strict.pm <http://strict.pm>', >>>> 'Text/Tabs.pm' => '/usr/share/perl/5.30/Text/Tabs.pm', >>>> 'warnings/register.pm <http://register.pm>' => >>>> '/usr/share/perl/5.30/warnings/register.pm >>>> <http://register.pm>', >>>> 'Data/Dumper.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Data/Dumper.pm', >>>> 'Exporter.pm' => '/usr/share/perl/5.30/Exporter.pm', >>>> 'parent.pm <http://parent.pm>' => >>>> '/usr/share/perl/5.30/parent.pm <http://parent.pm>', >>>> 'constant.pm <http://constant.pm>' => >>>> '/usr/share/perl/5.30/constant.pm <http://constant.pm>', >>>> 'URI.pm' => '../lib/fallback/URI.pm', >>>> 'vars.pm <http://vars.pm>' => >>>> '/usr/share/perl/5.30/vars.pm <http://vars.pm>', >>>> 'Storable.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Storable.pm', >>>> 'HTTP/Headers.pm' => >>>> '../lib/fallback/HTTP/Headers.pm', >>>> 'Filter/Util/Call.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Filter/Util/Call.pm', >>>> 'bytes.pm <http://bytes.pm>' => >>>> '/usr/share/perl/5.30/bytes.pm <http://bytes.pm>', >>>> 'Config.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Config.pm', >>>> 're.pm <http://re.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/re.pm <http://re.pm>', >>>> 'integer.pm <http://integer.pm>' => >>>> '/usr/share/perl/5.30/integer.pm <http://integer.pm>', >>>> 'Geo/WeatherNOAA.pm' => >>>> '../lib/site/Geo/WeatherNOAA.pm', >>>> 'LWP/UserAgent.pm' => >>>> '../lib/fallback/LWP/UserAgent.pm', >>>> 'LWP/Debug.pm' => '../lib/fallback/LWP/Debug.pm', >>>> 'Carp.pm' => '/usr/share/perl/5.30/Carp.pm', >>>> 'Getopt/Long.pm' => >>>> '/usr/share/perl/5.30/Getopt/Long.pm', >>>> 'Data/Dumper/Simple.pm' => >>>> '/usr/share/perl5/Data/Dumper/Simple.pm', >>>> 'LWP/MemberMixin.pm' => >>>> '../lib/fallback/LWP/MemberMixin.pm', >>>> 'overload.pm <http://overload.pm>' => >>>> '/usr/share/perl/5.30/overload.pm <http://overload.pm>', >>>> 'HTTP/Request.pm' => >>>> '../lib/fallback/HTTP/Request.pm', >>>> 'HTTP/Message.pm' => >>>> '../lib/fallback/HTTP/Message.pm', >>>> 'HTTP/Status.pm' => '../lib/fallback/HTTP/Status.pm', >>>> 'LWP/Protocol.pm' => >>>> '../lib/fallback/LWP/Protocol.pm', >>>> 'overloading.pm <http://overloading.pm>' => >>>> '/usr/share/perl/5.30/overloading.pm <http://overloading.pm>', >>>> 'Symbol.pm' => '/usr/share/perl/5.30/Symbol.pm', >>>> 'IO/Handle.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO/Handle.pm', >>>> 'XSLoader.pm' => '/usr/share/perl/5.30/XSLoader.pm', >>>> 'SelectSaver.pm' => >>>> '/usr/share/perl/5.30/SelectSaver.pm', >>>> 'Filter/Simple.pm' => >>>> '/usr/share/perl/5.30/Filter/Simple.pm', >>>> 'Time/Local.pm' => >>>> '/usr/share/perl/5.30/Time/Local.pm', >>>> 'warnings.pm <http://warnings.pm>' => >>>> '/usr/share/perl/5.30/warnings.pm <http://warnings.pm>', >>>> 'LWP.pm' => '../lib/fallback/LWP.pm', >>>> 'handy_utilities.pl <http://handy_utilities.pl>' >>>> => '../lib/handy_utilities.pl <http://handy_utilities.pl>', >>>> 'HTTP/Date.pm' => '../lib/fallback/HTTP/Date.pm', >>>> 'SelfLoader.pm' => >>>> '/usr/share/perl/5.30/SelfLoader.pm', >>>> 'Text/Wrap.pm' => '/usr/share/perl/5.30/Text/Wrap.pm' >>>> ); >>>> >>>> This is what I had after removing Tie, HTTP, URL & LWP from >>>> fallback (actually deleting the directories): >>>> %INC = ( >>>> 'Fcntl.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Fcntl.pm', >>>> 'LWP.pm' => '/usr/share/perl5/LWP.pm', >>>> 'URI.pm' => '/usr/share/perl5/URI.pm', >>>> 'Data/Dumper/Simple.pm' => >>>> '/usr/share/perl5/Data/Dumper/Simple.pm', >>>> 'LWP/Simple.pm' => '/usr/share/perl5/LWP/Simple.pm', >>>> 'LWP/MemberMixin.pm' => >>>> '/usr/share/perl5/LWP/MemberMixin.pm', >>>> 'HTTP/Config.pm' => '/usr/share/perl5/HTTP/Config.pm', >>>> 'Tie/IxHash.pm' => '/usr/share/perl5/Tie/IxHash.pm', >>>> 'HTTP/Headers.pm' => >>>> '/usr/share/perl5/HTTP/Headers.pm', >>>> 'lib.pm <http://lib.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/lib.pm <http://lib.pm>', >>>> 'Encode/Locale.pm' => >>>> '/usr/share/perl5/Encode/Locale.pm', >>>> 'Encode.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode.pm', >>>> 'Encode/Encoding.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Encoding.pm', >>>> 'HTTP/Date.pm' => '/usr/share/perl5/HTTP/Date.pm', >>>> 'Sub/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Sub/Util.pm', >>>> 'Try/Tiny.pm' => '/usr/share/perl5/Try/Tiny.pm', >>>> 'URI/Escape.pm' => '/usr/share/perl5/URI/Escape.pm', >>>> 'HTTP/Response.pm' => >>>> '/usr/share/perl5/HTTP/Response.pm', >>>> 'Symbol.pm' => '/usr/share/perl/5.30/Symbol.pm', >>>> 'LWP/UserAgent.pm' => >>>> '/usr/share/perl5/LWP/UserAgent.pm', >>>> 'Filter/Simple.pm' => >>>> '/usr/share/perl/5.30/Filter/Simple.pm', >>>> 'Encode/Config.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Config.pm', >>>> 'integer.pm <http://integer.pm>' => >>>> '/usr/share/perl/5.30/integer.pm <http://integer.pm>', >>>> 'strict.pm <http://strict.pm>' => >>>> '/usr/share/perl/5.30/strict.pm <http://strict.pm>', >>>> 'Carp.pm' => '/usr/share/perl/5.30/Carp.pm', >>>> 'warnings/register.pm <http://register.pm>' => >>>> '/usr/share/perl/5.30/warnings/register.pm >>>> <http://register.pm>', >>>> 'Scalar/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Scalar/Util.pm', >>>> 'vars.pm <http://vars.pm>' => >>>> '/usr/share/perl/5.30/vars.pm <http://vars.pm>', >>>> 'parent.pm <http://parent.pm>' => >>>> '/usr/share/perl/5.30/parent.pm <http://parent.pm>', >>>> 'IO.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO.pm', >>>> 'Exporter.pm' => '/usr/share/perl/5.30/Exporter.pm', >>>> 'I18N/Langinfo.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/I18N/Langinfo.pm', >>>> 'XSLoader.pm' => '/usr/share/perl/5.30/XSLoader.pm', >>>> 'Text/Wrap.pm' => '/usr/share/perl/5.30/Text/Wrap.pm', >>>> 're.pm <http://re.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/re.pm <http://re.pm>', >>>> 'Exporter/Heavy.pm' => >>>> '/usr/share/perl/5.30/Exporter/Heavy.pm', >>>> 'SelectSaver.pm' => >>>> '/usr/share/perl/5.30/SelectSaver.pm', >>>> 'Encode/MIME/Name.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/MIME/Name.pm', >>>> 'List/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/List/Util.pm', >>>> 'Config.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Config.pm', >>>> 'bytes.pm <http://bytes.pm>' => >>>> '/usr/share/perl/5.30/bytes.pm <http://bytes.pm>', >>>> 'Encode/Alias.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Alias.pm', >>>> 'handy_utilities.pl <http://handy_utilities.pl>' >>>> => '../lib/handy_utilities.pl <http://handy_utilities.pl>', >>>> 'Getopt/Long.pm' => >>>> '/usr/share/perl/5.30/Getopt/Long.pm', >>>> 'HTTP/Status.pm' => '/usr/share/perl5/HTTP/Status.pm', >>>> 'SelfLoader.pm' => >>>> '/usr/share/perl/5.30/SelfLoader.pm', >>>> 'HTTP/Message.pm' => >>>> '/usr/share/perl5/HTTP/Message.pm', >>>> 'overload.pm <http://overload.pm>' => >>>> '/usr/share/perl/5.30/overload.pm <http://overload.pm>', >>>> 'IO/Handle.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO/Handle.pm', >>>> 'Tie/Hash.pm' => '/usr/share/perl/5.30/Tie/Hash.pm', >>>> 'Storable.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Storable.pm', >>>> 'Filter/Util/Call.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Filter/Util/Call.pm', >>>> 'base.pm <http://base.pm>' => >>>> '/usr/share/perl/5.30/base.pm <http://base.pm>', >>>> 'Time/Local.pm' => >>>> '/usr/share/perl/5.30/Time/Local.pm', >>>> 'warnings.pm <http://warnings.pm>' => >>>> '/usr/share/perl/5.30/warnings.pm <http://warnings.pm>', >>>> 'Geo/WeatherNOAA.pm' => >>>> '../lib/site/Geo/WeatherNOAA.pm', >>>> 'constant.pm <http://constant.pm>' => >>>> '/usr/share/perl/5.30/constant.pm <http://constant.pm>', >>>> 'Text/Tabs.pm' => '/usr/share/perl/5.30/Text/Tabs.pm', >>>> 'overloading.pm <http://overloading.pm>' => >>>> '/usr/share/perl/5.30/overloading.pm <http://overloading.pm>', >>>> 'HTTP/Request.pm' => >>>> '/usr/share/perl5/HTTP/Request.pm', >>>> 'Data/Dumper.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Data/Dumper.pm', >>>> 'LWP/Protocol.pm' => >>>> '/usr/share/perl5/LWP/Protocol.pm', >>>> 'Text/Balanced.pm' => >>>> '/usr/share/perl/5.30/Text/Balanced.pm' >>>> ); >>>> Getting the forecast for Rochester, NY >>>> >>>> The forecast is As of : >>>> >>>> So, the *fallback directory is somehow prioritized above my >>>> local installed modules*. >>>> >>>> I decided to try removing the fallback directory from the >>>> path, and running it again. This is my edit in get_weather: >>>> ... >>>> #use my_lib "$Pgm_Path/../lib/site", >>>> "$Pgm_Path/../lib/fallback"; # See note in >>>> lib/mh_perl2exe.pl <http://mh_perl2exe.pl> for lib -> >>>> my_lib explaination >>>> BEGIN { >>>> eval "use lib '$Pgm_Path/../lib', >>>> '$Pgm_Path/../lib/site'"*;#, *'$Pgm_Path/../lib/fallback'"; >>>> } # Use BEGIN eval to keep perl2exe >>>> happy >>>> >>>> require 'handy_utilities.pl <http://handy_utilities.pl>'; >>>> # For read_mh_opts funcion >>>> &main::read_mh_opts( \%config_parms, $Pgm_Path ); >>>> >>>> use Geo::WeatherNOAA; >>>> >>>> $Geo::WeatherNOAA::proxy_from_env = 1; >>>> >>>> *use Data::Dumper::Simple; >>>> print Dumper(%INC);* >>>> >>>> >>>> if ( $data{conditions} ) { >>>> ... >>>> >>>> ...then ran it again: >>>> >>>> %INC = ( >>>> 'Tie/Hash.pm' => '/usr/share/perl/5.30/Tie/Hash.pm', >>>> 'Storable.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Storable.pm', >>>> 'handy_utilities.pl <http://handy_utilities.pl>' >>>> => '../lib/handy_utilities.pl <http://handy_utilities.pl>', >>>> 'overloading.pm <http://overloading.pm>' => >>>> '/usr/share/perl/5.30/overloading.pm <http://overloading.pm>', >>>> 'vars.pm <http://vars.pm>' => >>>> '/usr/share/perl/5.30/vars.pm <http://vars.pm>', >>>> 'LWP/UserAgent.pm' => >>>> '/usr/share/perl5/LWP/UserAgent.pm', >>>> 'Data/Dumper.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Data/Dumper.pm', >>>> 'Symbol.pm' => '/usr/share/perl/5.30/Symbol.pm', >>>> 'constant.pm <http://constant.pm>' => >>>> '/usr/share/perl/5.30/constant.pm <http://constant.pm>', >>>> 'Encode/MIME/Name.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/MIME/Name.pm', >>>> 'I18N/Langinfo.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/I18N/Langinfo.pm', >>>> 'warnings/register.pm <http://register.pm>' => >>>> '/usr/share/perl/5.30/warnings/register.pm >>>> <http://register.pm>', >>>> 'LWP/MemberMixin.pm' => >>>> '/usr/share/perl5/LWP/MemberMixin.pm', >>>> 'parent.pm <http://parent.pm>' => >>>> '/usr/share/perl/5.30/parent.pm <http://parent.pm>', >>>> 'Filter/Util/Call.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Filter/Util/Call.pm', >>>> 'Getopt/Long.pm' => >>>> '/usr/share/perl/5.30/Getopt/Long.pm', >>>> 'Exporter/Heavy.pm' => >>>> '/usr/share/perl/5.30/Exporter/Heavy.pm', >>>> 'HTTP/Date.pm' => '/usr/share/perl5/HTTP/Date.pm', >>>> 'Filter/Simple.pm' => >>>> '/usr/share/perl/5.30/Filter/Simple.pm', >>>> 'integer.pm <http://integer.pm>' => >>>> '/usr/share/perl/5.30/integer.pm <http://integer.pm>', >>>> 'LWP/Protocol.pm' => >>>> '/usr/share/perl5/LWP/Protocol.pm', >>>> 'LWP.pm' => '/usr/share/perl5/LWP.pm', >>>> 're.pm <http://re.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/re.pm <http://re.pm>', >>>> 'Text/Balanced.pm' => >>>> '/usr/share/perl/5.30/Text/Balanced.pm', >>>> 'Encode/Config.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Config.pm', >>>> 'Config.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Config.pm', >>>> 'List/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/List/Util.pm', >>>> 'IO.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO.pm', >>>> 'HTTP/Config.pm' => '/usr/share/perl5/HTTP/Config.pm', >>>> 'Carp.pm' => '/usr/share/perl/5.30/Carp.pm', >>>> 'HTTP/Message.pm' => >>>> '/usr/share/perl5/HTTP/Message.pm', >>>> 'SelfLoader.pm' => >>>> '/usr/share/perl/5.30/SelfLoader.pm', >>>> 'Try/Tiny.pm' => '/usr/share/perl5/Try/Tiny.pm', >>>> 'Encode/Locale.pm' => >>>> '/usr/share/perl5/Encode/Locale.pm', >>>> 'URI/Escape.pm' => '/usr/share/perl5/URI/Escape.pm', >>>> 'Exporter.pm' => '/usr/share/perl/5.30/Exporter.pm', >>>> 'base.pm <http://base.pm>' => >>>> '/usr/share/perl/5.30/base.pm <http://base.pm>', >>>> 'SelectSaver.pm' => >>>> '/usr/share/perl/5.30/SelectSaver.pm', >>>> 'Data/Dumper/Simple.pm' => >>>> '/usr/share/perl5/Data/Dumper/Simple.pm', >>>> 'Sub/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Sub/Util.pm', >>>> 'Tie/IxHash.pm' => '/usr/share/perl5/Tie/IxHash.pm', >>>> 'overload.pm <http://overload.pm>' => >>>> '/usr/share/perl/5.30/overload.pm <http://overload.pm>', >>>> 'LWP/Simple.pm' => '/usr/share/perl5/LWP/Simple.pm', >>>> 'URI.pm' => '/usr/share/perl5/URI.pm', >>>> 'HTTP/Response.pm' => >>>> '/usr/share/perl5/HTTP/Response.pm', >>>> 'Encode/Alias.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Alias.pm', >>>> 'Geo/WeatherNOAA.pm' => >>>> '../lib/site/Geo/WeatherNOAA.pm', >>>> 'XSLoader.pm' => '/usr/share/perl/5.30/XSLoader.pm', >>>> 'Scalar/Util.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Scalar/Util.pm', >>>> 'Fcntl.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Fcntl.pm', >>>> 'warnings.pm <http://warnings.pm>' => >>>> '/usr/share/perl/5.30/warnings.pm <http://warnings.pm>', >>>> 'bytes.pm <http://bytes.pm>' => >>>> '/usr/share/perl/5.30/bytes.pm <http://bytes.pm>', >>>> 'Encode/Encoding.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode/Encoding.pm', >>>> 'lib.pm <http://lib.pm>' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/lib.pm <http://lib.pm>', >>>> 'HTTP/Request.pm' => >>>> '/usr/share/perl5/HTTP/Request.pm', >>>> 'Text/Tabs.pm' => '/usr/share/perl/5.30/Text/Tabs.pm', >>>> 'Time/Local.pm' => >>>> '/usr/share/perl/5.30/Time/Local.pm', >>>> 'Text/Wrap.pm' => '/usr/share/perl/5.30/Text/Wrap.pm', >>>> 'Encode.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/Encode.pm', >>>> 'IO/Handle.pm' => >>>> '/usr/lib/x86_64-linux-gnu/perl/5.30/IO/Handle.pm', >>>> 'HTTP/Status.pm' => '/usr/share/perl5/HTTP/Status.pm', >>>> 'strict.pm <http://strict.pm>' => >>>> '/usr/share/perl/5.30/strict.pm <http://strict.pm>', >>>> 'HTTP/Headers.pm' => >>>> '/usr/share/perl5/HTTP/Headers.pm' >>>> ); >>>> Getting the forecast for Rochester, NY >>>> >>>> The forecast is As of 3:46pm Mon Dec 7, 2020: >>>> Tonight: Becoming mostly cloudy. >>>> >>>> It worked! >>>> >>>> I tried to see what would happen if I put the fallback path >>>> back into get_weather, but removed the actual fallback >>>> directory, and got this: >>>> >>>> Error in loading module=Device::SerialPort: >>>> Can't locate Device/SerialPort.pm in @INC (you may need >>>> to install the Device::SerialPort module) (@INC contains: >>>> /opt/mh/local/code ./../code/common >>>> /opt/mh/misterhouse/bin/../lib >>>> /opt/mh/misterhouse/bin/../lib/site . /etc/perl >>>> /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 >>>> /usr/local/share/perl/5.30.0 >>>> /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 >>>> /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 >>>> /usr/local/lib/site_perl >>>> /usr/lib/x86_64-linux-gnu/perl-base >>>> /opt/mh/misterhouse/bin/../lib/fallback) at (eval 32) line 1. >>>> BEGIN failed--compilation aborted at (eval 32) line 1. >>>> >>>> - See install.html for instructions on how to install perl >>>> module Device::SerialPort >>>> >>>> At least you can see my @INC paths now. :) >>>> I took this one step further and put fallback back into >>>> lib, started MH and ran "Get the Internet weather >>>> forecast", which failed. Then with MH still running, I >>>> renamed fallback to __fallback and ran it again.... it >>>> worked. It doesn't like SOMETHING in fallback, but it's not >>>> reporting it in %INC. >>>> >>>> Big questions: >>>> >>>> 1. Why is fallback prioritized ahead of my local directories? >>>> 2. Why when there are no modules used from fallback does >>>> get_weather fail unless I remove the reference to fallback? >>>> >>>> I think I'm out of my league... >>>> >>>> Thanks! >>>> >>>> Steve >>>> >>>> On Mon, Dec 7, 2020 at 9:46 AM Brian M >>>> <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Stephen, >>>> >>>> You get credit for reading all the way through an >>>> overly long post. I really have to learn to say things >>>> in fewer words, or at least add a "TL;DR". >>>> >>>> I suggest you add back fallback, and then add some >>>> temporary diagnostic code to get_weather.pl >>>> <http://get_weather.pl> to dump %INC. That will show >>>> you every module that it loaded and where they came >>>> from. Just look for the fallback directory in the %INC >>>> values, and you should find which modules are being >>>> pulled from that folder. That should give you a pretty >>>> short list of suspects. Then you can rename them one by >>>> one (or in small batches), and find the culprit. >>>> >>>> I've dabbled in similar areas. NOAA has changed their >>>> API format once or twice. I suspect there's an old >>>> module in fallback that doesn't know about that, but >>>> that's just a guess. I wish we could just update or >>>> delete everything in fallback, but I think the MH >>>> carnage would probably be huge. Luckily for me, it's >>>> not my call. >>>> >>>> -Brian M. >>>> >>>> >>>> >>>> On 12/7/20 6:20 AM, Stephen Switzer wrote: >>>>> Brian, >>>>> Thank you for the effort to explain the fallback >>>>> directory. I'm sorry I may not have been clear enough >>>>> on my thought process. I read the fallback >>>>> conversations on the list and saw the hplato commit >>>>> that added this to the external /bin files, so I knew >>>>> what was happening... but I have yet to figure out >>>>> which module was causing the issue. I tried deleting >>>>> every module that WeatherNOAA depended on but there >>>>> was still an error (blank forecast). >>>>> >>>>> I thought that I was on the right path a few >>>>> different times by changing code, updating the >>>>> weatherNOAA module, changing {zone} to {state}, etc, >>>>> etc... but I recognized that I may need to take a step >>>>> back and begin again, since I have have drawn some >>>>> false conclusions about what fixed it - especially >>>>> when I discovered that removing fallback had a >>>>> positive effect. I offered my code as a talking point, >>>>> but realized it wasn't the "right" fix. >>>>> >>>>> My question should be closer to something like >>>>> this: Does anyone have it working with the fallback >>>>> directory in the library list? I deleted LWP::* and >>>>> restarted MH without any success, and moved on to >>>>> Tie::IxHash, then some Text module that I forgot the >>>>> specifics on. I suppose I could continue deleting >>>>> modules and testing, but I was growing weary of the >>>>> process. >>>>> >>>>> Perhaps a better question is this: Who's running >>>>> hplato/master with internet_weather successfully? What >>>>> did you modify? >>>>> >>>>> Steve >>>>> >>>>> >>>>> On Mon, Dec 7, 2020 at 12:40 AM Brian M >>>>> <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Stephen, >>>>> >>>>> I can clarify about fallback, and hopefully put >>>>> you on the path to the right solution. >>>>> >>>>> MH has a long standing philosophy of having it >>>>> "just work out of the box". (Others can probably >>>>> represent this perspective better than I can as >>>>> it's not mine, but I'll give it a shot and trust >>>>> others to correct me where necessary.) What that >>>>> meant was that they didn't want to have a lot of >>>>> Perl pre-requisite modules. So instead, they >>>>> packaged the commonly needed modules in with MH, >>>>> so that when you unpack it, you get them too. >>>>> >>>>> The problem lies in that no one ever wanted to >>>>> keep the packaged CPAN/distro modules embedded in >>>>> MH up-to-date, so that for example the version of >>>>> LWP::UserAgent (for interfacing with web-sites) >>>>> provided with MH was so old it didn't support SSL, >>>>> even though the version you or I would install via >>>>> CPAN or our distro has supported SSL for years. >>>>> >>>>> To make things worse, MH explicitly set the Perl >>>>> library path, so that the supplied versions >>>>> preempted system versions (e.g. /usr/lib/perl or >>>>> whatever from your distro or CPAN), so that the >>>>> only way to update the MH version was to make and >>>>> maintain a local mod to MH yourself. In my case, >>>>> finding this out that meant many hours of trying >>>>> to figure out why a piece of my code worked >>>>> perfectly outside of MH (because it used the CPAN >>>>> LWP::UserAgent), but not in MH (because it used a >>>>> really old version that didn't support SSL). >>>>> That's my perspective, at least. >>>>> >>>>> I wanted a solution that would be acceptable to >>>>> those with the "just work out of the box/provide >>>>> modules" perspective, while still allowing people >>>>> that needed a newer version of a module to install >>>>> it without hacking MH every time it updates. What >>>>> I implemented to please everyone was to identify >>>>> all the external Perl modules that MH packaged >>>>> into it's distribution but wasn't maintaining. >>>>> It's a long list. I then moved all of these that >>>>> I could from MH's normal library into the newly >>>>> created "fallback" library, which I listed at the >>>>> end of the Perl5 library list. That way, if you >>>>> have a newer version in the system libraries, your >>>>> code could find it. If you didn't, the out-dated >>>>> versions in fallback libraries would still get >>>>> picked up and used. Essentially, the fallback >>>>> libraries become the library of last resort >>>>> instead of preempting the system libraries. >>>>> >>>>> That code went in in April (I think), and this is >>>>> the first incident I've heard of where it broke >>>>> something. What that tells me is that get_weather >>>>> calls on a module that exists broken in fallback. >>>>> By removing fallback, you've removed access to >>>>> broken code, and it works again. How it works >>>>> without the module it found in fallback is beyond >>>>> me since there are no libraries to search after >>>>> fallback. It may have some "if I can't find >>>>> module X, use Y instead" logic in it, and you >>>>> deleted access to X. >>>>> >>>>> Removing fallback is the wrong solution, however. >>>>> The best and easiest solution is to identify the >>>>> outdated, broken module get_weather is using out >>>>> of the fallback library, and install a newer one >>>>> via CPAN or your distro. get_weather will >>>>> automatically pick up the newer one instead and I >>>>> think you should be in good shape. Or find just >>>>> delete the reference to the broken module so >>>>> get_weather doesn't use it, since get_weather >>>>> isn't using it when you removed fallback and >>>>> appears to work fine. >>>>> >>>>> In any case, moving the outdated CPAN modules into >>>>> fallback gives you options. If we hadn't >>>>> implemented that change, get_weather would still >>>>> break (because it would still find bad module X, >>>>> just in lib instead of fallback/lib), but then you >>>>> wouldn't be able to fix it by just installing a >>>>> newer version of X. Moving the module from lib to >>>>> fallback didn't break get_weather, it just made >>>>> some other breakage you discovered easier to fix. >>>>> >>>>> -Brian M >>>>> >>>>> >>>>> >>>>> >>>>> On 12/6/20 7:45 PM, Stephen Switzer wrote: >>>>>> A month later I was able to piece together a >>>>>> commit that seems to have all the needed changes >>>>>> from master. >>>>>> >>>>>> https://github.com/pmatis/misterhouse/commit/bbd8f73942cbe304403d953f7c614268c3783fde >>>>>> >>>>>> There are still some significant unanswered >>>>>> questions in my mind, but first... >>>>>> >>>>>> 1. I discovered that the Geo:WeatherNOAA module >>>>>> that I received was older than what was in >>>>>> master. >>>>>> 1. I only added a line for gracefully >>>>>> failing a little early, since continuing >>>>>> on is wasted cycles. >>>>>> 2. The get_weather script was out of date in >>>>>> master, lacking a change from 08/17/16 by >>>>>> Rick, but contained a nws_rwr_zone parameter >>>>>> that seems to be ignored in this file. >>>>>> 3. internet_weather.pl >>>>>> <http://internet_weather.pl> was calling >>>>>> "print_current($parms{city}, $parms{zone}..." >>>>>> instead of "print_current($parms{city}, >>>>>> $parms{state}..." in one copy of that file I >>>>>> had. I can't seem to put my eye on it right >>>>>> now, though. >>>>>> >>>>>> The main thing that I'm questioning is the >>>>>> addition of '$Pgm_Path/../lib/fallback' in >>>>>> get_weather. While comparing versions of files >>>>>> that I had, I finally stumbled upon this >>>>>> difference and noticed that when I removed this >>>>>> from the path, the forecast was retrieved >>>>>> successfully. I went into the fallback directory >>>>>> and tried to determine what was in there that was >>>>>> seemingly too old. I looked into WeatherNOAA.pm >>>>>> to see what it depended on and removed the 2 LWP >>>>>> modules, then tried again with the entire LWP >>>>>> directory. I moved on Tie::IxHash, then the >>>>>> entire Tie directory, Text... I was removing huge >>>>>> chunks of these files and nothing changed the >>>>>> results except removing the fallback directory >>>>>> from the path. >>>>>> >>>>>> I have a sneaking suspicion that I missed >>>>>> something. At least for now I have something that >>>>>> makes master work for me. There's a bunch of >>>>>> commits that I can cherry pick into my running >>>>>> code and have it work. Anyone else care to peek >>>>>> at this? >>>>>> >>>>>> Thanks! >>>>>> Steve >>>>>> >>>>>> On Tue, Nov 3, 2020 at 4:40 PM Rick Steeves via >>>>>> misterhouse-users >>>>>> <[email protected] >>>>>> <mailto:[email protected]>> >>>>>> wrote: >>>>>> >>>>>> D'oh, I had also updated the internet_weather >>>>>> page - I should have sent >>>>>> that to you as well! sprry... >>>>>> >>>>>> Rick >>>>>> >>>>>> >>>>>> On 11/3/2020 11:14 AM, Stephen Switzer wrote: >>>>>> > An update to everyone, I incorporated these >>>>>> two files, experimented and >>>>>> > modified them along with >>>>>> internet_weather.pl <http://internet_weather.pl> >>>>>> > <http://internet_weather.pl> and finally >>>>>> have it working. I'll have to >>>>>> > diff things and boil down what really >>>>>> mattered then submit a pull >>>>>> > request. Meanwhile, if anyone else is >>>>>> interested, please let me know. >>>>>> > I'll share. >>>>>> > >>>>>> > Thanks, Rick! >>>>>> > >>>>>> > Steve >>>>>> > >>>>>> > On Mon, Nov 2, 2020 at 10:37 AM Rick >>>>>> Steeves via misterhouse-users >>>>>> > <[email protected] >>>>>> <mailto:[email protected]> >>>>>> > >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>> >>>>>> wrote: >>>>>> > >>>>>> > >>>>>> > Set you my copies of get_weather and >>>>>> weatherNOAA.pm under separate >>>>>> > email. >>>>>> > >>>>>> > rick >>>>>> > >>>>>> > >>>>>> > >>>>>> > On 11/2/2020 8:51 AM, Stephen Switzer >>>>>> wrote: >>>>>> > > I'm still recovering my system and >>>>>> would like this portion to >>>>>> > work now. >>>>>> > > Are there any updates to this since >>>>>> then? I checked out the >>>>>> > current GIT >>>>>> > > repo and that version doesn't work >>>>>> for me with get_weather either. >>>>>> > > >>>>>> > > Would appreciate any pointers to >>>>>> getting back up with forecasts >>>>>> > so I can >>>>>> > > enjoy the "chance of rain" >>>>>> announcements a little more before it >>>>>> > changes >>>>>> > > over to the "s" word for winter. ewwww. >>>>>> > > >>>>>> > > Thanks! >>>>>> > > >>>>>> > > On Wed, Sep 28, 2016 at 9:18 PM >>>>>> Wayne Gatlin <[email protected] >>>>>> <mailto:[email protected]> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > Sorry, forgot to attach the file. >>>>>> > > >>>>>> > > _Wayne >>>>>> > > >>>>>> > > On Wed, Sep 28, 2016 at 8:17 PM, >>>>>> Wayne Gatlin >>>>>> > <[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > These URLs seem to work, I >>>>>> updated WeatherNOAA.pm with >>>>>> > the new >>>>>> > > URLs and attached it to this >>>>>> email. Let me know if it >>>>>> > works for you. >>>>>> > > >>>>>> > > >>>>>> > >>>>>> http://forecast.weather.gov/product.php?site=LIX&issuedby=LIX&product=ZFP&format=txt&version=1&glossary=0 >>>>>> > > >>>>>> > >>>>>> http://forecast.weather.gov/product.php?site=LIX&issuedby=LIX&product=RWR&format=txt&version=1&glossary=0 >>>>>> > > >>>>>> > > _Wayne >>>>>> > > >>>>>> > > On Wed, Sep 28, 2016 at 6:39 >>>>>> AM, Brian Klier >>>>>> > > <[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > I should correct myself, >>>>>> it looks like it WAS working >>>>>> > until >>>>>> > > just recently. I >>>>>> noticed some of the RIDGE graphics have >>>>>> > > changed to new sites at >>>>>> NOAA, so it sounds like they >>>>>> > might >>>>>> > > be doing some sort of >>>>>> refresh of their website this week. >>>>>> > > >>>>>> > > Brian >>>>>> > > >>>>>> > > On Tue, Sep 27, 2016 at >>>>>> 10:32 PM, Eloy Paris >>>>>> > > <[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > Same here. I tried >>>>>> around 6 PM EDT and it didn't >>>>>> > work. >>>>>> > > >>>>>> > > >>>>>> > > On September 27, >>>>>> 2016 10:22:50 PM EDT, Wayne Gatlin >>>>>> > > <[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > I'm not sure how >>>>>> I missed Ricks email, but I just >>>>>> > > set it up and >>>>>> its not working for me. I'm not >>>>>> > able >>>>>> > > to get to the >>>>>> URLs in the email or the one that's >>>>>> > > built from my zone. >>>>>> > > >>>>>> > > I get a 404 for >>>>>> both of these urls: >>>>>> > > http://www.srh.noaa.gov/data/LIX/ZFPLIX >>>>>> > > http://www.srh.noaa.gov/data/RAH/ZFPRAH >>>>>> > > >>>>>> <http://www.srh.noaa.gov/data/RAH/ZFPRAH> >>>>>> > > >>>>>> > > cat >>>>>> data/web/weather_conditions.txt >>>>>> > > Error getting >>>>>> data from >>>>>> > > http://www.srh.noaa.gov/data/LIX/RWRLIX >>>>>> > > >>>>>> > > >>>>>> > > Unless there's >>>>>> just an issue at NOAA right >>>>>> > now, I'm >>>>>> > > not sure what >>>>>> else could be wrong. >>>>>> > > >>>>>> > > >>>>>> > > _Wayne >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > On Tue, Sep 27, >>>>>> 2016 at 5:09 PM, Brian Klier >>>>>> > > >>>>>> <[email protected] >>>>>> <mailto:[email protected]> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > > >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > I've been >>>>>> using it since Rick posted his >>>>>> > fix and >>>>>> > > it's been >>>>>> working perfectly here. >>>>>> > > >>>>>> > > Brian >>>>>> > > >>>>>> > > On Tue, Sep >>>>>> 27, 2016, 2:01 PM Lieven >>>>>> > Hollevoet >>>>>> > > >>>>>> <[email protected] <mailto:[email protected]> >>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> wrote: >>>>>> > > >>>>>> > > Hello all, >>>>>> > > >>>>>> > > is there >>>>>> somebody who has tested this >>>>>> > > already? >>>>>> Would be nice if we could >>>>>> > add it to >>>>>> > > toe >>>>>> upcoming 4.2 stable release. >>>>>> > > >>>>>> > > Kind >>>>>> regards, >>>>>> > > Lieven. >>>>>> > > >>>>>> > > > Op 19 >>>>>> aug. 2016, om 18:34 heeft Rick >>>>>> > > Steeves >>>>>> <[email protected] >>>>>> <mailto:[email protected]> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]>> >>>>>> > > >>>>>> <mailto:[email protected] >>>>>> <mailto:[email protected]> >>>>>> > <mailto:[email protected] >>>>>> <mailto:[email protected]>>>> het >>>>>> > > volgende >>>>>> geschreven: >>>>>> > > > >>>>>> > > > The >>>>>> two correct URLs (for when >>>>>> > your zone >>>>>> > > is RAH) >>>>>> used for queries now: >>>>>> > > > >>>>>> > http://www.srh.noaa.gov/data/RAH/RWRRAH >>>>>> > > > >>>>>> > http://www.srh.noaa.gov/data/RAH/ZFPRAH >>>>>> > > > >>>>>> > > > See >>>>>> attached. Updates for weather NOAA >>>>>> > > website >>>>>> changes: >>>>>> > > > >>>>>> > > > >>>>>> Updated GEO::WeatherNOAA to >>>>>> > confirm with >>>>>> > > new >>>>>> website, replace inside the base >>>>>> > MH code >>>>>> > > >>>>>> /lib/site/Geo. >>>>>> > > > >>>>>> Used the CPAN 4.38 as the base >>>>>> > > (which >>>>>> is wildly newer than what's >>>>>> > included >>>>>> > > in MH). >>>>>> > > > >>>>>> Note - the NOAA no longer uses >>>>>> > > "State", >>>>>> but is instead using >>>>>> > regional three >>>>>> > > digit >>>>>> zone codes. >>>>>> > > > >>>>>> You can get those codes here: >>>>>> > > >>>>>> http://forecast.weather.gov/product_sites.php?site=CRH&product=ZFP >>>>>> > > > >>>>>> You must include that zone >>>>>> > value >>>>>> > > in your >>>>>> mh.private.ini file. >>>>>> > > > >>>>>> Example: zone=RAH for >>>>>> > Raleigh-Durham >>>>>> > > > >>>>>> Updated get_weather to incorporate >>>>>> > using >>>>>> > > zone >>>>>> instead of state, located in /bin >>>>>> > > > >>>>>> > > > Note >>>>>> that foundation I used for >>>>>> > > >>>>>> get_weather is likely out of date, as >>>>>> > I have >>>>>> > > yet to >>>>>> work with the new (Git?) >>>>>> > repository, >>>>>> > > so I'm >>>>>> working off my 2.105 (-ish) >>>>>> > personal >>>>>> > > >>>>>> environment. The WeatherNOAA.pm I >>>>>> > built from >>>>>> > > the most >>>>>> current version of >>>>>> > GEO::WeatherNOAA.pm >>>>>> > > > >>>>>> > > > >>>>>> > > > If >>>>>> anyone still uses this code, please >>>>>> > > use and >>>>>> let me know how it goes. You can >>>>>> > > tell if >>>>>> it's working by looking at >>>>>> > > > >>>>>> \data\web\weather_forecast.txt >>>>>> > > > >>>>>> \data\web\weather_conditions.txt >>>>>> > > > >>>>>> > > > Rick >>>>>> > > > >>>>>> > > > >>>>>> > > > At >>>>>> 02:10 PM 8/18/2016, Rick >>>>>> > Steeves wrote: >>>>>> > > >> The >>>>>> NOAA has provided URLs which >>>>>> > return >>>>>> > > raw text >>>>>> for the forecast and point >>>>>> > information. >>>>>> > > >> For >>>>>> when the location is RAH: >>>>>> > > >> >>>>>> > http://www.srh.noaa.gov/data/RAH/PFMRAH >>>>>> > > >> >>>>>> > > >>>> >>>>>> > http://www.srh.noaa.gov/data/RAH/ZFPRAH >>>>>> > > >> >>>>>> > > >> >>>>>> Shouldn't take me much from there >>>>>> > to fix >>>>>> > > >>>>>> Geo::WeatherNOAA >>>>>> > > >> >>>>>> > > >> Rick >>>>>> > > > >>>>>> > > >>>>>> > >>>>>> <get_weather.txt><WeatherNOAA.pm>------------------------------------------------------------------------------ >>>>>> > > > >>>>>> > > >>>>>> > >>>>>> ________________________________________________________ >>>>>> > > > To >>>>>> unsubscribe from this list, go to: >>>>>> > > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ------------------------------------------------------------------------------ >>>>>> > > >>>>>> > >>>>>> ________________________________________________________ >>>>>> > > To >>>>>> unsubscribe from this list, go to: >>>>>> > > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ------------------------------------------------------------------------------ >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ________________________________________________________ >>>>>> > > To >>>>>> unsubscribe from this list, go to: >>>>>> > > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ------------------------------------------------------------------------ >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ------------------------------------------------------------------------ >>>>>> > > >>>>>> > > To unsubscribe >>>>>> from this list, go >>>>>> > >>>>>> to:https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > >>>>>> > > >>>>>> > > -- >>>>>> > > Sent from my Android >>>>>> device with K-9 Mail. Please >>>>>> > excuse >>>>>> > > my brevity. >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > >>>>>> ------------------------------------------------------------------------------ >>>>>> > > >>>>>> ________________________________________________________ >>>>>> > > To unsubscribe from this list, >>>>>> go to: >>>>>> > > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > -- >>>>>> > > >>>>>> > > Best regards, >>>>>> > > Steve Switzer >>>>>> > > >>>>>> > > --- >>>>>> > > Get world-class business I.T. >>>>>> services and a phone system with >>>>>> > awesome features that won't challenge >>>>>> your budget! >>>>>> > > http://www.sbsROC.com >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> ________________________________________________________ >>>>>> > > To unsubscribe from this list, go to: >>>>>> > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > > >>>>>> > >>>>>> > -- >>>>>> > Rick Steeves >>>>>> > https://www.irelandbybicycle.com >>>>>> > >>>>>> > It's all fun and games until someone >>>>>> ends up wearing a cone. >>>>>> > >>>>>> > >>>>>> > >>>>>> ________________________________________________________ >>>>>> > To unsubscribe from this list, go to: >>>>>> > >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > >>>>>> > >>>>>> > >>>>>> > -- >>>>>> > >>>>>> > Best regards, >>>>>> > Steve Switzer >>>>>> > >>>>>> > --- >>>>>> > Get world-class business I.T. services and >>>>>> a phone system with awesome features that >>>>>> won't challenge your budget! >>>>>> > http://www.sbsROC.com >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> ________________________________________________________ >>>>>> > To unsubscribe from this list, go to: >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> > >>>>>> >>>>>> -- >>>>>> Rick Steeves >>>>>> https://www.irelandbybicycle.com >>>>>> >>>>>> It's all fun and games until someone ends up >>>>>> wearing a cone. >>>>>> >>>>>> >>>>>> ________________________________________________________ >>>>>> To unsubscribe from this list, go to: >>>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Best regards, >>>>>> Steve Switzer >>>>>> >>>>>> --- >>>>>> Get world-class business I.T. services and a phone system with awesome features that won't challenge your budget! >>>>>> http://www.sbsROC.com >>>>>> >>>>>> This body part will be downloaded on demand. >>>>>> >>>>>> This body part will be downloaded on demand. >>>>> >>>>> >>>>> ________________________________________________________ >>>>> To unsubscribe from this list, go to: >>>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>>> >>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Steve Switzer >>>>> >>>>> --- >>>>> Get world-class business I.T. services and a phone system with awesome features that won't challenge your budget! >>>>> http://www.sbsROC.com >>>>> >>>>> This body part will be downloaded on demand. >>>>> >>>>> This body part will be downloaded on demand. >>>> >>>> >>>> ________________________________________________________ >>>> To unsubscribe from this list, go to: >>>> https://lists.sourceforge.net/lists/listinfo/misterhouse-users >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Steve Switzer >>>> >>>> --- >>>> Get world-class business I.T. services and a phone system with awesome features that won't challenge your budget! >>>> http://www.sbsROC.com >>> >>> >>> >>> >>> -- >>> >>> Best regards, >>> Steve Switzer >>> >>> --- >>> Get world-class business I.T. services and a phone system with awesome features that won't challenge your budget! >>> http://www.sbsROC.com >>> >>> >>> >>> -- >>> Best regards, >>> Steve Switzer >>> >>> --- >>> Get world-class business I.T. services and a phone system with awesome features that won't challenge your budget! >>> http://www.sbsROC.com >>> >>> This body part will be downloaded on demand. >>> >>> This body part will be downloaded on demand. >> >> > > > > ________________________________________________________ > To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users > ________________________________________________________ To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users