2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-28 17:12:32 +00:00

98_configdb.pm: remove smartmatch issues

git-svn-id: https://svn.fhem.de/fhem/trunk@28750 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
betateilchen 2024-04-05 10:10:51 +00:00
parent 46ef6faa22
commit c9384cfec3

View File

@ -4,12 +4,9 @@
package main;
use strict;
use warnings;
use feature qw/say switch/;
use POSIX;
use configDB;
no if $] >= 5.017011, warnings => 'experimental';
sub CommandConfigdb;
sub _cfgDB_readConfig();
@ -51,9 +48,7 @@ sub CommandConfigdb {
my $ret;
given ($cmd) {
when ('attr') {
if ($cmd eq 'attr') {
Log3('configdb', 4, "configdb: attr $param1 $param2 requested.");
if ($param1 eq '' && $param2 eq '') {
# list attributes
@ -87,30 +82,21 @@ sub CommandConfigdb {
$ret = " attribute $param1 set to value $param2";
addStructChange('configdb attr',undef,"$param1 $param2 (set)");
}
}
when ('dump') {
} elsif ($cmd eq 'dump') {
return _cfgDB_dump($param1);
}
when ('diff') {
} elsif ($cmd eq 'diff') {
return "\n Syntax: configdb diff <device> <version>" if @a != 3;
return "Invalid paramaeter '$param2' for diff. Must be a number."
unless (looks_like_number($param2) || $param2 eq 'current');
Log3('configdb', 4, "configdb: diff requested for device: $param1 in version $param2.");
$ret = _cfgDB_Diff($param1, $param2);
}
when ('filedelete') {
} elsif ($cmd eq 'filedelete') {
return "\n Syntax: configdb filedelete <pathToFile>" if @a != 2;
my $filename = makeFilename($param1);
$ret = "File $filename ";
$ret .= defined(_cfgDB_Filedelete($filename)) ? "deleted from" : "not found in";
$ret .= " database.";
}
when ('fileexport') {
} elsif ($cmd eq 'fileexport') {
return "\n Syntax: configdb fileexport <pathToFile>" if @a != 2;
if ($param1 ne 'all') {
my $filename = makeFilename($param1);
@ -128,9 +114,7 @@ sub CommandConfigdb {
$ret .= "\n";
}
} # end export all
}
when ('fileimport') {
} elsif ($cmd eq 'fileimport') {
return "\n Syntax: configdb fileimport <pathToFile>" if @a != 2;
my $filename = makeFilename($param1);
if ( -r $filename ) {
@ -141,13 +125,9 @@ sub CommandConfigdb {
} else {
$ret = "\n File $filename not found.";
}
}
when ('filelist') {
} elsif ($cmd eq 'filelist') {
return _cfgDB_Filelist;
}
when ('filemove') {
} elsif ($cmd eq 'filemove') {
return "\n Syntax: configdb filemove <pathToFile>" if @a != 2;
my $filename = makeFilename($param1);
if ( -r $filename ) {
@ -159,84 +139,62 @@ sub CommandConfigdb {
} else {
$ret = "\n File $filename not found.";
}
}
when ('fileshow') {
} elsif ($cmd eq 'fileshow') {
return "\n Syntax: configdb fileshow <pathToFile>" if @a != 2;
my @rets = cfgDB_FileRead($param1);
my $r = (int(@rets)) ? join "\n",@rets : "File $param1 not found in database.";
return $r;
}
when ('info') {
} elsif ($cmd eq 'info') {
my $raw = lc($param1) eq 'raw' ? 1 : 0;
Log3('configdb', 4, "info requested.");
$ret = _cfgDB_Info('$Id$',$raw);
}
when ('list') {
} elsif ($cmd eq 'list') {
$param1 = $param1 ? $param1 : '%';
$param2 = looks_like_number($param2) ? $param2 : 0;
$ret = "list not allowed for configDB itself.";
break if($param1 =~ m/configdb/i);
return $ret if($param1 =~ m/configdb/i);
Log3('configdb', 4, "configdb: list requested for device: $param1 in version $param2.");
$ret = _cfgDB_Search($param1,$param2,1);
}
when ('migrate') {
} elsif ($cmd eq 'migrate') {
return "\n Migration not possible. Already running with configDB!" if $configfile eq 'configDB';
$data{cfgDB_debug} = 1 if (lc($param1) eq 'debug');
Log3('configdb', 4, "configdb: migration requested.");
$ret = _cfgDB_Migrate;
}
when ('rawList'){
} elsif ($cmd eq 'rawList'){
$data{cfgDB_rawList} = 1;
my @out = cfgDB_SaveCfg();
delete $data{cfgDB_rawList};
return join("\n",@out);
}
when ('recover') {
} elsif ($cmd eq 'recover') {
return "\n Syntax: configdb recover <version>" if @a != 2;
return "Invalid paramaeter '$param1' for recover. Must be a number."
unless looks_like_number($param1);
Log3('configdb', 4, "configdb: recover for version $param1 requested.");
$ret = _cfgDB_Recover($param1);
}
when ('renum') {
} elsif ($cmd eq 'renum') {
Log3('configdb', 4, "configdb: renum requested for device: $param1.");
return "Unknown device $param1" if !defined $defs{$param1};
my $oldnum = $defs{$param1}{NR};
$defs{$param1}{NR} = 2;
$ret = "configdb: renum requested for device: $param1 \n";
$ret .= "use 'save config' and 'shutdown restart' to make changes persistant.";
}
when ('reorg') {
} elsif ($cmd eq 'reorg') {
$param1 = 3 unless $param1;
return "Invalid paramaeter '$param1' for reorg. Must be a number."
unless looks_like_number($param1);
Log3('configdb', 4, "configdb: reorg requested with keep: $param1.");
$ret = _cfgDB_Reorg($param1);
}
when ('search') {
} elsif ($cmd eq 'search') {
return "\n Syntax: configdb search <searchTerm> [searchVersion]" if @a < 2;
$param1 = $param1 ? $param1 : '%';
$param2 = looks_like_number($param2) ? $param2 : 0;
Log3('configdb', 4, "configdb: list requested for device: $param1 in version $param2.");
$ret = _cfgDB_Search($param1,$param2,0);
}
when ('uuid') {
} elsif ($cmd eq 'uuid') {
$param1 = createUniqueId();
Log3('configdb', 4, "configdb: uuid requested: $param1");
$ret = $param1;
}
default {
} else {
$ret = "\n Syntax:\n".
" configdb attr [attribute] [value]\n".
" configdb diff <device> <version>\n".
@ -258,8 +216,6 @@ sub CommandConfigdb {
"";
}
}
return $ret;
}