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:
parent
46ef6faa22
commit
c9384cfec3
@ -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;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user