You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
64 lines
1.7 KiB
#!/usr/bin/perl
|
|
|
|
my ($section, %data);
|
|
|
|
#read in all the data, split it up into hashes. Thanks again to malte for much input
|
|
while (<>) {
|
|
if (/\[(.*)\]/) {
|
|
$sections{$section} = {%data} if $section;
|
|
$section = $1;
|
|
undef %data;
|
|
next;
|
|
}
|
|
$data{$1} = $2 if /^([^=]*)=(.*)$/;
|
|
}
|
|
|
|
$sections{$section} = {%data} if $section;
|
|
|
|
# not used up to now
|
|
# $version = $sections{'General'}->{'Version'};
|
|
|
|
# if "Action description" is not available, we have a new, fresh configuration
|
|
# without any need for conversion.
|
|
if ( ! $sections{'Action_0'}->{'Action description'} ) {
|
|
exit;
|
|
}
|
|
|
|
$numActions = $sections{'General'}->{'Number of Actions'};
|
|
for my $i (0..($numActions - 1)) {
|
|
my $actionGroup = "Action_$i";
|
|
my $numCommands = $sections{$actionGroup}->{'Number of commands'};
|
|
|
|
print "[$actionGroup]\n";
|
|
# rename some keys
|
|
print "Description=$sections{$actionGroup}->{'Action description'}\n";
|
|
print "Regexp=$sections{$actionGroup}->{'Action regexp'}\n";
|
|
print "Number of commands=$numCommands\n";
|
|
|
|
# move the command entries from "Action_x" to "Action_x/Command_y"
|
|
for my $k (0..($numCommands - 1)) {
|
|
my $command = "Command_$k";
|
|
my $commandGroup = "$actionGroup/$command";
|
|
print "\n[$commandGroup]\n";
|
|
my $value = $sections{$actionGroup}->{"$command: commandline"};
|
|
print "Commandline=$value\n";
|
|
$value = $sections{$actionGroup}->{"$command: description"};
|
|
print "Description=$value\n";
|
|
$value = $sections{$actionGroup}->{"$command: enabled"};
|
|
print "Enabled=$value\n";
|
|
}
|
|
print "\n";
|
|
}
|
|
|
|
©Section( "General" );
|
|
©Section( "Global Keys" );
|
|
|
|
sub copySection()
|
|
{
|
|
my ($group) = @_;
|
|
print "\n[$group]\n";
|
|
while (($key,$value) = each(%{$sections{$group}})) {
|
|
print "$key=$value\n";
|
|
}
|
|
}
|