From aa1e50858d22caf68ca60f4e8c4c6366f79012c6 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Wed, 6 Nov 2019 22:17:49 +0000 Subject: [PATCH] 49_SSCam: contrib 9.0.3 git-svn-id: https://svn.fhem.de/fhem/trunk@20468 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/49_SSCam.pm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/fhem/contrib/DS_Starter/49_SSCam.pm b/fhem/contrib/DS_Starter/49_SSCam.pm index 3940d6ed8..9959332b7 100644 --- a/fhem/contrib/DS_Starter/49_SSCam.pm +++ b/fhem/contrib/DS_Starter/49_SSCam.pm @@ -9792,12 +9792,23 @@ sub SSCam_cache ($$;$$) { if($type eq "file") { # This is a filecache using Cache::Cache. - # https://metacpan.org/pod/Cache::Cache - if(!(-R $path) || !(-W $path)) { - Log3($name, 1, "$name - ERROR - cannot create \"$type\" Cache: ".$!); + # https://metacpan.org/pod/Cache::Cache + my $pr = (split('/',reverse($path),2))[1]; + $pr = reverse($pr); + if(!(-R $pr) || !(-W $pr)) { # root-erzeichnis testen + Log3($name, 1, "$name - ERROR - cannot create \"$type\" Cache in dir \"$pr\": ".$!); delete $hash->{HELPER}{CACHEKEY}; return 0; - } + } + if(!(-d $path)) { # Zielverzeichnis anlegen wenn nicht vorhanden + my $success = mkdir($path,0775); + if(!$success) { + Log3($name, 1, "$name - ERROR - cannot create \"$type\" Cache path \"$path\": ".$!); + delete $hash->{HELPER}{CACHEKEY}; + return 0; + } + } + $cache = CHI->new( driver => 'CacheCache', on_set_error => 'warn', on_get_error => 'warn',