From 2b581c625a0747358f26bdd2136f65acf3d26f37 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Fri, 30 Oct 2020 16:19:41 +0000 Subject: [PATCH] 50_SSFile.pm: contrib Version 0.6.0 git-svn-id: https://svn.fhem.de/fhem/trunk@23050 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/50_SSFile.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/fhem/contrib/DS_Starter/50_SSFile.pm b/fhem/contrib/DS_Starter/50_SSFile.pm index 3aa6bee46..ee2569aaa 100644 --- a/fhem/contrib/DS_Starter/50_SSFile.pm +++ b/fhem/contrib/DS_Starter/50_SSFile.pm @@ -142,7 +142,8 @@ BEGIN { # Versions History intern my %vNotesIntern = ( - "0.5.0" => "26.10.2020 new Setter Upload and fillup upload queue asynchronously", + "0.6.0" => "30.10.2020 Upload files may contain ", + "0.5.0" => "26.10.2020 new Setter Upload and fillup upload queue asynchronously, some more improvements around Upload ", "0.4.0" => "18.10.2020 add reqtype to addSendqueue, new Setter prepareDownload ", "0.3.0" => "16.10.2020 create Reading Hash instead of Array ", "0.2.0" => "16.10.2020 some changes in subroutines ", @@ -637,7 +638,12 @@ sub _setUpload { my @all; for my $obj (@uld) { # nicht existierende objekte aussondern if (! -e $obj) { - Log3 ($name, 3, qq{$name - The object "$obj" doesn't exist, ignore it for upload}); + my @globes = glob ("$obj"); # Wildcards auflösen (https://perldoc.perl.org/functions/glob) + if (@globes) { + push (@all, @globes); + next; + } + Log3 ($name, 3, qq{$name - The object "$obj" doesn't exist or can't be dissolved, ignore it for upload}); next; } push @all, $obj; @@ -2295,7 +2301,8 @@ return $out; Im Argument dest ist das Zielverzeichnis auf der Synology Diskstation anzugeben. Der Pfad der zu übertragenden lokalen Files/Ordner kann als absoluter oder relativer Pfad zum FHEM global modpath angegeben werden.
- Dateien und Ordner-Inhalte werden im Standard inklusive Subordner ausgelesen und zur Destination Struktur erhaltend übertragen. + Dateien und Ordner-Inhalte werden im Standard inklusive Subordner ausgelesen und zur Destination Struktur erhaltend übertragen. + Dateien können Wildcards (*.) enthalten um nur bestimmte Dateien hochzuladen.
Unterverzeichnisse werden im Standard in der Destination angelegt wenn sie nicht vorhanden sind.
Alle angegebenen Objekte sind insgesamt in " einzuschließen.

@@ -2306,6 +2313,7 @@ return $out; + @@ -2316,13 +2324,12 @@ return $out;
- Im Zielpfad (dest= Argument) können POSIX %-Wildcards angegeben werden.

- Beispiele:
set <Name> Upload "./text.txt" dest=/home/upload
set <Name> Upload "/opt/fhem/old data.txt" dest=/home/upload ow=false
set <Name> Upload "./Archiv neu 2020.txt" dest=/home/upload
set <Name> Upload "./log" dest=/home/upload mode=inc struc=false
+ set <Name> Upload "./log/*.txt,./log/archive/fhem-2019-12*.*" dest=/home/upload mode=full
set <Name> Upload "./log" dest=/home/upload/%Y_%m_%d_%H_%M_%S mode=full struc=false
set <Name> Upload "./" dest=/home/upload mode=inc
set <Name> Upload "/opt/fhem/fhem.pl,./www/images/PlotToChat.png,./log/fhem-2020-10-41.log" dest=/home/upload
dest= <Ordner>: Zielpfad zur Speicherung der Files im Synology Filesystem (der Pfad beginnnt mit einem shared Folder und endet ohne "/")
Es können POSIX %-Wildcards angegeben werden.
ow= (optional) true: das File wird überschrieben wenn im Ziel-Pfad vorhanden (default), false: das File wird nicht überschrieben
cdir= (optional) true: übergeordnete(n) Ordner erstellen, falls nicht vorhanden. (default), false: übergeordnete(n) Ordner nicht erstellen
mode= (optional) full: alle außer im Attribut excludeFromUpload angegebenen Objekte werden berücksichtigt (default)