# HG changeset patch # User Matti Hamalainen # Date 1687530272 -10800 # Node ID fd45c52d4297c9322dac7c2505715952e27d38e8 # Parent c262cef9dc546a7f7a19051f972f376db32d2545 fetch_weather: Cleanups. diff -r c262cef9dc54 -r fd45c52d4297 fetch_weather.pl --- a/fetch_weather.pl Thu Jun 22 15:47:45 2023 +0300 +++ b/fetch_weather.pl Fri Jun 23 17:24:32 2023 +0300 @@ -331,15 +331,13 @@ my $res = fetch_http($uri); if ($res->code >= 200 && $res->code <= 201) { - my $json_str = force_decode_utf8($res->decoded_content); - my $data = JSON->new->decode($json_str); + my $data_json = JSON->new->decode(force_decode_utf8($res->decoded_content)); - print $json_str if opt_chk_bool("dump"); + print Dumper($data_json) if opt_chk_bool("dump"); - if (!defined($data->{"dataUpdatedTime"}) || !defined($data->{"stations"})) + if (!defined($data_json->{"dataUpdatedTime"}) || !defined($data_json->{"stations"})) { print STDERR "ERROR: REST/JSON call result did not contain required data.\n"; - print STDERR $json_str."\n\n"; } else { @@ -370,18 +368,18 @@ # Parse the data .. my $meta_data = {}; - my $json = JSON->new->decode($meta_str); + my $meta_json = JSON->new->decode($meta_str); - print $meta_str if opt_chk_bool("dump"); + print Dumper($meta_json) if opt_chk_bool("dump"); if ($fetch_meta) { # Save new cache, in more optimal form, if needed. print STDERR "Storing to cache '".$meta_file."'.\n" if (opt_get_int("debug") > 0); - write_binary($meta_file, JSON->new->utf8->encode($json)); + write_binary($meta_file, JSON->new->utf8->encode($meta_json)); } - foreach my $ms (@{$json->{"features"}}) + foreach my $ms (@{$meta_json->{"features"}}) { # Filter functional stations? if (defined($ms->{"properties"}) && @@ -395,7 +393,7 @@ } my $nrecords = 0; - foreach my $wdata (@{$data->{"stations"}}) + foreach my $wdata (@{$data_json->{"stations"}}) { my $wid = $wdata->{"id"}; if (defined($meta_data->{$wid}) && @@ -472,7 +470,7 @@ my $xml = XMLin(force_decode_utf8($res->decoded_content)); my $time_base = time(); - print $res->decoded_content if opt_chk_bool("dump"); + print Dumper($xml) if opt_chk_bool("dump"); if (defined($xml->{"wfs:member"}{"omso:GridSeriesObservation"})) {