]> git.donarmstrong.com Git - bin.git/commitdiff
remove things which have appropriate rules
authorDon Armstrong <don@donarmstrong.com>
Wed, 18 May 2016 17:09:51 +0000 (10:09 -0700)
committerDon Armstrong <don@donarmstrong.com>
Wed, 18 May 2016 17:09:51 +0000 (10:09 -0700)
learn_from_spam

index 5644096225e033bbcc5340dd4a723a7511c03510..aca7f219858159fa65646e90d6b8a074b5aa73a3 100755 (executable)
@@ -10,6 +10,10 @@ SPAM_REPORT="spamc --learntype=spam"
 HAM_REPORT="spamc --learntype=ham"
 SPAM_CHECK="spamc -c"
 
+# needs rules directories
+NEEDS_SPAM_RULES=~/Maildir/spam/needs_rules/cur/
+NEEDS_HAM_RULES=~/Maildir/spam/needs_ham_rules/cur/
+
 if [ "$(basename $0)" = "learn_from_spam" ]; then
     for file in "$@"; do
         if ! formail -c < "$file"|grep -q '^List-Id'; then
@@ -23,9 +27,11 @@ if [ "$(basename $0)" = "learn_from_spam" ]; then
             trap "rm -f '$TMP'/file; rmdir '$TMP'" EXIT
             # this message is still not spam; may need custom rules
             spamc < "$file" > "$TMP/file" 2>/dev/null;
-            mv "$TMP/file" ~/Maildir/spam/needs_rules/cur/"$(basename "$file")";
+            mv "$TMP/file" "${NEEDS_SPAM_RULES}$(basename "$file")";
             trap - EXIT;
             rmdir "$TMP";
+        elif [ "$file" = "${NEEDS_SPAM_RULES}$(basename "$file")" ]; then
+            rm -f "$file";
         fi;
     done;
 elif [ "$(basename $0)" = "learn_from_ham" ]; then
@@ -37,9 +43,11 @@ elif [ "$(basename $0)" = "learn_from_ham" ]; then
             TMP="$(mktemp -d)"
             trap "rm -f '$TMP'/file; rmdir '$TMP'" EXIT
             spamc < "$file" > "$TMP/file" 2>/dev/null;
-            mv "$TMP/file" ~/Maildir/spam/needs_ham_rules/cur/"$(basename "$file")";
+            mv "$TMP/file" "${NEEDS_HAM_RULES}$(basename "$file")";
             trap - EXIT;
             rmdir "$TMP";
+        elif [ "$file" = "${NEEDS_HAM_RULES}$(basename "$file")" ]; then
+            rm -f "$file";
         fi;
     done;
 else