2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-13 05:06:35 +00:00

fhem.pl: move getUniqueId from 99_Utils.pm to fhem.pl (Forum )

git-svn-id: https://svn.fhem.de/fhem/trunk@7528 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2015-01-11 18:23:31 +00:00
parent af6171d4f7
commit 57c6554c37
2 changed files with 53 additions and 52 deletions

@ -12,58 +12,6 @@ Utils_Initialize($$)
my ($hash) = @_;
}
sub
getUniqueId()
{
my ($err, $uniqueID) = getKeyValue("uniqueID");
return $uniqueID if(defined($uniqueID));
srand(time);
$uniqueID = join "",map { unpack "H*", chr(rand(256)) } 1..16;
setKeyValue("uniqueID", $uniqueID);
return $uniqueID;
}
sub
getKeyValue($)
{
my ($key) = @_;
my $fName = $attr{global}{modpath}."/FHEM/FhemUtils/uniqueID";
my ($err, @l) = FileRead($fName);
return ($err, undef) if($err);
for my $l (@l) {
return (undef, $1) if($l =~ m/^$key:(.*)/);
}
return (undef, undef);
}
sub
setKeyValue($$)
{
my ($key,$value) = @_;
my $fName = $attr{global}{modpath}."/FHEM/FhemUtils/uniqueID";
my ($err, @old) = FileRead($fName);
my @new;
if($err) {
push(@new, "# This file is auto generated.",
"# Please do not modify, move or delete it.",
"");
@old = ();
}
my $fnd;
foreach my $l (@old) {
if($l =~ m/^$key:/) {
$fnd = 1;
push @new, "$key:$value" if(defined($value));
} else {
push @new, $l;
}
}
push @new, "$key:$value" if(!$fnd && defined($value));
return FileWrite($fName, @new);
}
sub
time_str2num($)
{

@ -4004,4 +4004,57 @@ FileWrite($@)
}
}
sub
getUniqueId()
{
my ($err, $uniqueID) = getKeyValue("uniqueID");
return $uniqueID if(defined($uniqueID));
srand(time);
$uniqueID = join "",map { unpack "H*", chr(rand(256)) } 1..16;
setKeyValue("uniqueID", $uniqueID);
return $uniqueID;
}
sub
getKeyValue($)
{
my ($key) = @_;
my $fName = $attr{global}{modpath}."/FHEM/FhemUtils/uniqueID";
my ($err, @l) = FileRead($fName);
return ($err, undef) if($err);
for my $l (@l) {
return (undef, $1) if($l =~ m/^$key:(.*)/);
}
return (undef, undef);
}
sub
setKeyValue($$)
{
my ($key,$value) = @_;
my $fName = $attr{global}{modpath}."/FHEM/FhemUtils/uniqueID";
my ($err, @old) = FileRead($fName);
my @new;
if($err) {
push(@new, "# This file is auto generated.",
"# Please do not modify, move or delete it.",
"");
@old = ();
}
my $fnd;
foreach my $l (@old) {
if($l =~ m/^$key:/) {
$fnd = 1;
push @new, "$key:$value" if(defined($value));
} else {
push @new, $l;
}
}
push @new, "$key:$value" if(!$fnd && defined($value));
return FileWrite($fName, @new);
}
1;