blob: 735daf774eda9f0105bd713a0bbab0d1ee012f5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/usr/bin/perl -w
use strict;
# This script converts lower case status filter rules to upper case.
# read the whole config file
my $currentGroup = "";
my %configFile;
while ( <> ) {
chomp;
next if ( /^$/ ); # skip empty lines
next if ( /^\#/ ); # skip comments
if ( /^\[/ ) { # group begin
$currentGroup = $_;
next;
} elsif ( $currentGroup ne "" ) { # normal entry
my ($key,$value) = split /=/;
$configFile{$currentGroup}{$key}=$value;
}
}
# go through all filters and check for rules which are no longer valid
my @filterGroups = grep { /^\[Filter \#\d+\]/ } keys %configFile;
foreach my $filterGroup (@filterGroups) {
my $numRules = $configFile{$filterGroup}{'rules'};
# go through all rules:
for ( my $i = 0; $i < $numRules; ++$i ) {
my $c = chr( ord("A") + $i );
my $fieldKey = "field$c";
my $field = $configFile{$filterGroup}{$fieldKey};
if ( $field eq "<status>" ) {
my $contentsKey = "contents$c";
my $contents = $configFile{$filterGroup}{$contentsKey};
if ( $contents =~ /^[a-z]/ ) {
$contents = ucfirst( $contents );
print "# DELETE $filterGroup$contentsKey\n";
print "$filterGroup\n$contentsKey=$contents\n";
}
}
}
}
|