My dotfiles. Period.

imapdomo 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. . "$(shellfu-get path)" || exit 3
  3. shellfu import pretty
  4. SHELLFU_DEBUG=${SHELLFU_DEBUG:-true}
  5. usage() {
  6. mkusage "newmail" \
  7. "rewind" \
  8. "cleanup" \
  9. -- "newmail - check for and file new mail" \
  10. "rewind - re-add messages from FILTER_FAIL back" \
  11. " to FILTER_QUEUE" \
  12. "cleanup - delete or archive old messages"
  13. }
  14. mkcmd() {
  15. #
  16. # Compose imapfilter command
  17. #
  18. echo -n "IMAPDOMO_ACTION=$Action"
  19. echo -n " IMAPFILTER_HOME=$CfgDir"
  20. echo -n " imapfilter"
  21. if $Debug
  22. then
  23. mkdir -p "$LogDir"
  24. echo -n " -d $LogDir/debug.log"
  25. fi
  26. echo -n " -c $CfgDir/main.lua"
  27. }
  28. main() {
  29. local Action # what to do
  30. local Debug # true if debugging
  31. local cmd # imapfilter command
  32. local CfgDir # config directory
  33. local LogDir # config directory
  34. CfgDir="$HOME/.imapdomo"
  35. LogDir="$HOME/.cache/imapdomo/logs"
  36. Debug=false
  37. while true; do case $1 in
  38. -d) Debug=true; SHELLFU_DEBUG=true; shift ;;
  39. -*) usage ;;
  40. *) break ;;
  41. esac done
  42. Action="$1"; shift
  43. grep -qw "$Action" <<< "newmail|rewind|cleanup" || usage
  44. cmd=$(mkcmd)
  45. debug -v cmd
  46. bash -n <<<"$cmd" || die
  47. eval "$cmd"
  48. }
  49. main "$@"