Re: [mh] Weather and Weather_Chance_Of_Rain
Brian M <[email protected]>
| Newsgroups | gmane.comp.misc.misterhouse.user |
|---|---|
| Message-ID | <[email protected]> |
Stephen,
Thanks for the confirmation. I'll go ahead and fix up the bin files. My
oversight, so it should be my job to clean it up.
-Brian M
On 12/10/20 9:46 AM, Stephen Switzer wrote:
> I just tried the following:
>
> BEGIN {
> eval "use lib '$Pgm_Path/../lib', '$Pgm_Path/../lib/site'";
> eval "push \@INC, '$Pgm_Path/../lib/fallback';";
> }
>
> ...and it worked perfectly:
>
> @INC = (
> './../lib',
> './../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',
> './../lib/fallback'
> );
> Getting the forecast for Rochester, NY
>
> The forecast is As of 12:41pm Thu Dec 10, 2020:
>
> Now we just need someone to create a pull request that fixes all the
> bin/* files. No point in doing double work. Is this already being
> done? If not, I can take it.
>
> Steve
>
> On Wed, Dec 9, 2020 at 7:01 PM Brian M
> <[email protected]
> <mailto:[email protected]>> 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 <http://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
>
>
>
> --
> 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