mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-08 05:15:10 +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:
parent
d34f28f8f1
commit
07a257f765
@ -2400,6 +2400,7 @@ ZWave_configParseModel($;$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $partial="";
|
||||||
while($gz->gzreadline($line)) {
|
while($gz->gzreadline($line)) {
|
||||||
last if($line =~ m+^\s*</Product>+);
|
last if($line =~ m+^\s*</Product>+);
|
||||||
if($line =~ m/^\s*<CommandClass.*id="([^"]*)"(.*)$/) {
|
if($line =~ m/^\s*<CommandClass.*id="([^"]*)"(.*)$/) {
|
||||||
@ -2427,7 +2428,22 @@ ZWave_configParseModel($;$)
|
|||||||
$hash{$cmdName} = \%h;
|
$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/) {
|
if($line =~ m/^\s*<Item/) {
|
||||||
my $label = $1 if($line =~ m/label="([^"]*)"/i);
|
my $label = $1 if($line =~ m/label="([^"]*)"/i);
|
||||||
my $value = $1 if($line =~ m/value="([^"]*)"/i);
|
my $value = $1 if($line =~ m/value="([^"]*)"/i);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user