#!/bin/bash # _____ _ _ # | __|___ ___ ___ _| |___ _____| |_ ___ ___ ___ # | __| _| -_| -_| . | . | | . | . | | -_| # |__| |_| |___|___|___|___|_|_|_|___|___|_|_|___| # # Freedom in the Cloud # # Removes an ignore rule for either an email address # or text in the subject line # # License # ======= # # Copyright (C) 2015-2018 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . PROJECT_NAME='freedombone' export TEXTDOMAIN=${PROJECT_NAME}-unignore export TEXTDOMAINDIR="/usr/share/locale" MYUSERNAME=$USER EMAIL_ADDRESS= SUBJECT_TEXT= function show_help { echo '' echo $"${PROJECT_NAME}-unignore -u [username] -e [mail address] -t [text in subject line]" echo '' exit 0 } while [ $# -gt 1 ] do key="$1" case $key in -h|--help) show_help ;; -u|--user) shift MYUSERNAME="$1" ;; -e|--email) shift EMAIL_ADDRESS="$1" ;; -t|--text) shift SUBJECT_TEXT="$1" ;; *) # unknown option ;; esac shift done if ! [[ $MYUSERNAME && $EMAIL_ADDRESS ]]; then if ! [[ $MYUSERNAME && $SUBJECT_TEXT ]]; then show_help fi fi MUTTRC="/home/$MYUSERNAME/.muttrc" PM=/home/$MYUSERNAME/.procmailrc # unignore if subject line contains text if [ "$SUBJECT_TEXT" ]; then if grep -q "Ignore rule for $SUBJECT_TEXT" "$PM"; then sed -i "/# Ignore rule for $SUBJECT_TEXT/,/# End of ignore rule/d" "$PM" fi fi # unignore an email address if [ "$EMAIL_ADDRESS" ]; then if grep -q "Ignore rule for $EMAIL_ADDRESS" "$PM"; then sed -i "/# Ignore rule for $EMAIL_ADDRESS/,/# End of ignore rule/d" "$PM" fi fi exit 0