line |
true |
false |
branch |
277
|
0 |
2 |
if (ref $_[0] eq 'HASH') { } |
286
|
0 |
2 |
unless ($parameters{'place'}) |
295
|
0 |
2 |
if ($parameters{'cache_max_age'} and $parameters{'cache_file'}) { } |
|
0 |
2 |
elsif ($parameters{'cache_max_age'} or $parameters{'cache_file'}) { } |
300
|
0 |
0 |
unless (grep {$_;} values %Weather::Underground::MODULES) |
304
|
0 |
0 |
unless ($parameters{'cache_max_age'} =~ /^[0-9.]+$/) |
308
|
0 |
0 |
if (-f $parameters{'cache_file'}) { } |
313
|
0 |
0 |
unless (open FH, $parameters{'cache_file'}) |
317
|
0 |
0 |
unless (flock FH, 2) |
322
|
0 |
0 |
unless (seek FH, 0, 0) |
330
|
0 |
0 |
if (not exists $Weather::Underground::MODULES{$module}) { } |
|
0 |
0 |
elsif (not $Weather::Underground::MODULES{$module}) { } |
354
|
0 |
0 |
if ($module eq 'Data::Dumper') { } |
|
0 |
0 |
elsif ($module eq 'Storable') { } |
|
0 |
0 |
elsif ($module eq 'FreezeThaw') { } |
365
|
0 |
0 |
if (ref $cache ne 'HASH') |
375
|
0 |
0 |
unless (open FH, ">$parameters{'cache_file'}") |
418
|
0 |
2 |
if ($$self{'_cache_cache'}) |
424
|
0 |
0 |
if (exists $$self{'_cache_cache'}{$$self{'place'}}) |
425
|
0 |
0 |
if (time - $$self{'_cache_cache'}{$$self{'place'}}{'time'} <= $$self{'cache_max_age'}) { } |
437
|
0 |
2 |
if ($$self{'timeout'}) |
446
|
0 |
2 |
if (not $document) { } |
462
|
0 |
2 |
unless ($parser = 'HTML::TokeParser'->new(\$document)) |
467
|
1 |
1 |
if ($document =~ /observed at/i) { } |
476
|
136 |
191 |
if ($$token[0] eq 'T' and not $$token[2]) { } |
|
19 |
172 |
elsif ($state{'interesting'} and $$token[0] eq 'S' and uc $$token[1] eq 'TR') { } |
|
36 |
136 |
elsif ($$token[0] eq 'S' and uc $$token[1] eq 'TD' and $state{'incontent'}) { } |
|
1 |
135 |
elsif (not $state{'interesting'} and $$token[0] eq 'S' and uc $$token[1] eq 'TABLE' and $$token[2]{'border'} == 1) { } |
|
1 |
221 |
elsif ($$token[0] eq 'E' and uc $$token[1] eq 'TABLE' and $state{'interesting'}) { } |
487
|
80 |
56 |
unless $text =~ /[a-z0-9]/i |
488
|
0 |
56 |
if $text eq 'IMG' |
490
|
2 |
54 |
if ($state{'inheader'}) { } |
|
51 |
3 |
elsif ($state{'incontent'}) { } |
497
|
1 |
1 |
if ($text =~ /updated\s*:?\s*(.+?)\s*$/i) |
501
|
1 |
1 |
if ($text =~ /observed\s+at\s+:?\s*(.+)/i) |
512
|
18 |
33 |
if ($state{'contentnumber'} == 1) { } |
528
|
15 |
18 |
if (exists $state{"content_$state{'lastcontentheader'}"}) |
542
|
1 |
18 |
if (not $state{'inheader'} || $state{'incontent'}) { } |
|
1 |
17 |
elsif ($state{'inheader'}) { } |
607
|
0 |
442 |
if ($$token[0] eq 'T' and not $$token[2] and $state{'interesting'}) { } |
|
1 |
441 |
elsif (not $state{'interesting'} and $$token[0] eq 'S' and uc $$token[1] eq 'TABLE') { } |
|
0 |
441 |
elsif ($state{'interesting'} and $$token[0] eq 'S' and uc $$token[1] eq 'TR') { } |
|
0 |
441 |
elsif ($state{'incontent'} and $$token[0] eq 'E' and uc $$token[1] eq 'TR') { } |
|
0 |
441 |
elsif ($state{'interesting'} and $$token[0] eq 'E' and uc $$token[1] eq 'TABLE') { } |
615
|
0 |
0 |
unless $text =~ /[a-z0-9]/i |
620
|
0 |
0 |
if ($state{'incontent'}) |
626
|
0 |
0 |
if (exists $state{'content'}) |
635
|
0 |
1 |
if ($state{'tablenumber'} == 2) |
648
|
0 |
0 |
if (not $state{'inheader'} || $state{'incontent'}) { } |
|
0 |
0 |
elsif ($state{'inheader'}) { } |
681
|
1 |
1 |
if (not @$arrayref) { } |
686
|
0 |
1 |
if ($$self{'cache_file'}) |
697
|
0 |
0 |
if (open FH, ">$$self{'cache_file'}") { } |
698
|
0 |
0 |
if (flock FH, 2) { } |
699
|
0 |
0 |
if (seek FH, 0, 0) { } |
702
|
0 |
0 |
if ($$self{'_cache_module'} eq 'Data::Dumper') { } |
|
0 |
0 |
elsif ($$self{'_cache_module'} eq 'Storable') { } |
|
0 |
0 |
elsif ($$self{'_cache_module'} eq 'FreezeThaw') { } |
739
|
0 |
146 |
if ($Weather::Underground::DEBUG) |
758
|
0 |
15 |
unless exists $$stateref{$_} |
764
|
0 |
1 |
if (not length $temperature_celsius and length $temperature_fahrenheit) { } |
|
0 |
2 |
elsif (not length $temperature_fahrenheit and length $temperature_celsius) { } |
774
|
0 |
1 |
if (not length $dewpoint_celsius and length $dewpoint_fahrenheit) { } |
|
0 |
2 |
elsif (not length $dewpoint_fahrenheit and length $dewpoint_celsius) { } |
784
|
0 |
1 |
if (not length $visibility_miles and length $visibility_kilometers) { } |
|
0 |
2 |
elsif (not length $visibility_kilometers and length $visibility_miles) { } |
797
|
0 |
1 |
if (not length $wind_milesperhour and length $wind_kilometersperhour) { } |
|
0 |
2 |
elsif (not length $wind_kilometersperhour and length $wind_milesperhour) { } |