diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm index 7a6839c14..9ae2d9735 100644 --- a/fhem/FHEM/57_Calendar.pm +++ b/fhem/FHEM/57_Calendar.pm @@ -677,9 +677,9 @@ sub Calendar_GetUpdate($) { Log 4, "Calendar " . $hash->{NAME} . ": Updating..."; my $url= $hash->{fhem}{url}; - my $ics= GetFileFromURL($url); + my $ics= GetFileFromURLQuiet($url); if(!defined($ics)) { - Log 1, "Calendar " . $hash->{NAME} . ": Could not retrieve $url"; + Log 1, "Calendar " . $hash->{NAME} . ": Could not retrieve file at URL"; return 0; } @@ -691,7 +691,7 @@ sub Calendar_GetUpdate($) { my @entries= @{$ical->{entries}}; if($#entries<0) { - Log 1, "Calendar " . $hash->{NAME} . ": Not an ical file at $url"; + Log 1, "Calendar " . $hash->{NAME} . ": Not an ical file at URL"; $hash->{STATE}= "Not an ical file at URL"; return 0; }; diff --git a/fhem/FHEM/HttpUtils.pm b/fhem/FHEM/HttpUtils.pm index 3d5647d8a..6ea458c22 100644 --- a/fhem/FHEM/HttpUtils.pm +++ b/fhem/FHEM/HttpUtils.pm @@ -14,18 +14,18 @@ urlEncode($) { return $_; } - ################## # - if data (which is urlEncoded) is set, then a POST is performed, else a GET. # - noshutdown must be set for e.g the Fritz!Box sub -GetFileFromURL($@) +CustomGetFileFromURL($$@) { - my ($url, $timeout, $data, $noshutdown) = @_; + my ($quiet, $url, $timeout, $data, $noshutdown) = @_; $timeout = 4.0 if(!defined($timeout)); + my $displayurl= $quiet ? "" : $url; if($url !~ /^(http|https):\/\/([^:\/]+)(:\d+)?(\/.*)$/) { - Log 1, "GetFileFromURL $url: malformed or unsupported URL"; + Log 1, "GetFileFromURL $displayurl: malformed or unsupported URL"; return undef; } @@ -82,13 +82,29 @@ GetFileFromURL($@) } $ret=~ s/(.*?)\r\n\r\n//s; # Not greedy: switch off the header. - Log 4, "GetFileFromURL: Got http://$host$path, length: ".length($ret); + my $hostpath= $quiet ? "" : $host . $path; + Log 4, "GetFileFromURL: Got http://$hostpath, length: ".length($ret); undef $conn; return $ret; } ################## # Compatibility mode + +sub +GetFileFromURL($@) +{ + my ($url, @a)= @_; + return CustomGetFileFromURL(0, $url, @a); +} + +sub +GetFileFromURLQuiet($@) +{ + my ($url, @a)= @_; + return CustomGetFileFromURL(1, $url, @a); +} + sub GetHttpFile($$) { @@ -96,4 +112,5 @@ GetHttpFile($$) return GetFileFromURL("http://$host$file"); } + 1;