mutt.awk

download

# Skrypt konwertuje opis skrzynek pocztowych na reguły dla mutta
# Dariusz Cieślak, cieslakd at gazeta.pl

/^=/ {
    sFrom = ""
    mbox = substr($1, 2)
    mboxes = mboxes " +." mbox
    next
}

$1 == "FROM:" {
    sub(/FROM: /, "")
    sFrom = $0
    next
}

$1 == "SIG:" {
    signature = $2
    next
}

function file_exists(sFile) {
    status = getline a < sFile
    if(status < 0)
        return 0
    close(sFile)
    return 1
}

$0 != "" {
    print "fcc-save-hook \"" $0 "\" =." mbox

    if(file_exists(signature)) {
        print "send-hook '~f \"" $0 "\"' set signature=~/.mail/"\
        signature
        print "send-hook '~t \"" $0 "\"' set signature=~/.mail/"\
        signature
        print "send-hook '~s \"" $0 "\"' set signature=~/.mail/"\
        signature
        print "send-hook '~c \"" $0 "\"' set signature=~/.mail/"\
        signature
    }

    if(sFrom) {
        print "send-hook '~t \"" $0 "\"' my_hdr from: " sFrom
        print "send-hook '~f \"" $0 "\"' my_hdr from: " sFrom
        print "send-hook '~s \"" $0 "\"' my_hdr from: " sFrom
        print "send-hook '~c \"" $0 "\"' my_hdr from: " sFrom
    }
}

END {
    #print "mailboxes" mboxes " +.spam +.lists"
}

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"