2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-01 01:09:47 +00:00

10_ZWave.pm: add Multiline Help parser (Forum #60456)

git-svn-id: https://svn.fhem.de/fhem/trunk@12536 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2016-11-09 20:16:55 +00:00
parent d34f28f8f1
commit 07a257f765

View File

@ -2400,6 +2400,7 @@ ZWave_configParseModel($;$)
}
}
my $partial="";
while($gz->gzreadline($line)) {
last if($line =~ m+^\s*</Product>+);
if($line =~ m/^\s*<CommandClass.*id="([^"]*)"(.*)$/) {
@ -2427,7 +2428,22 @@ ZWave_configParseModel($;$)
$hash{$cmdName} = \%h;
}
$hash{$cmdName}{Help} .= "$1<br>" if($line =~ m+^\s*<Help>(.*)</Help>$+);
if($line =~ m,<Help>, && $line !~ m,</Help>,) { # Multiline Help
$partial = $line;
next;
}
if($partial) {
if($line =~ m,</Help>,) {
$line = $partial.$line;
$line =~ s/[\r\n]//gs;
$partial = "";
} else {
$partial .= $line;
next;
}
}
$hash{$cmdName}{Help} .= "$1<br>" if($line =~ m+<Help>(.*)</Help>+s);
if($line =~ m/^\s*<Item/) {
my $label = $1 if($line =~ m/label="([^"]*)"/i);
my $value = $1 if($line =~ m/value="([^"]*)"/i);