allow for Boolean Op and case-sensitivity
authorPaul Mangan <paul@claws-mail.org>
Mon, 14 Jan 2002 11:10:18 +0000 (11:10 +0000)
committerPaul Mangan <paul@claws-mail.org>
Mon, 14 Jan 2002 11:10:18 +0000 (11:10 +0000)
ChangeLog.claws
tools/filter_conv.pl

index 2d744a6..7824b14 100644 (file)
@@ -1,3 +1,10 @@
+2002-01-14 [paul]
+
+       * tools/filter_conv.pl
+               allow for Boolean Op and case-sensitivity
+               this file is included in the release and tagged
+               'rel_0_7_0'
+
 2002-01-13 [paul]      0.7.0claws
 
        * release 0.7.0, with cvs tag 'rel_0_7_0'
index a1f5b5c..4265a24 100644 (file)
@@ -47,6 +47,7 @@ if (-e "matcherrc") {
                foreach $matcherrc (@matcherrc) {
                        $WRITE_THIS .= $matcherrc;
                }
+       $WRITE_THIS .= "\n";
 }
 
 $WRITE_THIS .= "[global]\n";
@@ -54,20 +55,25 @@ $WRITE_THIS .= "[global]\n";
 foreach $filterrc (@filterrc) {
        $COUNT++;
        @split_lines = split("\t", $filterrc);
-       if (($split_lines[3]) && ($split_lines[0] eq "To")) {
-               $WRITE_THIS .= "to_or_cc match \"$split_lines[1]\"";
+       if ($split_lines[2] eq "&") {
+               $operator = "&";
+               &sort_data;
+       }
+       elsif ($split_lines[2] eq "|") {
+               $operator = "|";
+               &sort_data;
        } elsif ($split_lines[0] eq "To") {
-               $WRITE_THIS .= "to match \"$split_lines[1]\"";
+               $WRITE_THIS .= "to matchcase \"$split_lines[1]\"";
        } elsif ($split_lines[0] eq "Reply-To") {
-               $WRITE_THIS .= "inreplyto match \"$split_lines[1]\"";
+               $WRITE_THIS .= "inreplyto matchcase \"$split_lines[1]\"";
        } elsif ($split_lines[0] eq "Subject") {
-               $WRITE_THIS .= "subject match \"$split_lines[1]\"";
+               $WRITE_THIS .= "subject matchcase \"$split_lines[1]\"";
        } elsif (($split_lines[0] eq "From") || ($split_lines[0] eq "Sender")){
-               $WRITE_THIS .= "from match \"$split_lines[1]\"";
+               $WRITE_THIS .= "from matchcase \"$split_lines[1]\"";
        }
        if (!$split_lines[5]) {
                $WRITE_THIS .= " delete";
-       } elsif ($split_lines[8] == "m"){
+       } elsif ($split_lines[8] eq "m\n"){
                $WRITE_THIS .= " move \"\#mh/$mailbox/$split_lines[5]\"";
        }
        $WRITE_THIS .= "\n";
@@ -81,3 +87,27 @@ close MATCHERRC;
 print "\nYou have sucessfully converted $COUNT filtering rules\n\n";
 exit;
 
+sub sort_data {
+       if ($split_lines[0] eq "To" && $split_lines[3] eq "Cc" && 
+       $split_lines[1] eq $split_lines[4]) {
+               $WRITE_THIS .= "to_or_cc matchcase \"$split_lines[1]\"";                
+       }
+       elsif ($split_lines[0] eq "To") {
+               $WRITE_THIS .= "to matchcase \"$split_lines[1]\" $operator ";
+       } elsif ($split_lines[0] eq "Reply-To") {
+               $WRITE_THIS .= "inreplyto matchcase \"$split_lines[1]\" $operator ";
+       } elsif ($split_lines[0] eq "Subject") {
+               $WRITE_THIS .= "subject matchcase \"$split_lines[1]\" $operator ";
+       } elsif (($split_lines[0] eq "From") || ($split_lines[0] eq "Sender")) {
+               $WRITE_THIS .= "from matchcase \"$split_lines[1]\" $operator ";
+       }
+       if ($split_lines[3] eq "To") {
+               $WRITE_THIS .= "to matchcase \"$split_lines[4]\"";
+       } elsif ($split_lines[3] eq "Reply-To") {
+               $WRITE_THIS .= "inreplyto matchcase \"$split_lines[4]\"";
+       } elsif ($split_lines[3] eq "Subject") {
+               $WRITE_THIS .= "subject matchcase \"$split_lines[4]\"";
+       } elsif (($split_lines[3] eq "From") || ($split_lines[3] eq "Sender")) {
+               $WRITE_THIS .= "from matchcase \"$split_lines[4]\"";
+       }
+}