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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.