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.
tdepim/kmail/kmail-3.4.1-update-status-f...

43 lines
1.2 KiB

#!/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";
}
}
}
}