This repository has been archived on 2023-01-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
mail-config/astroid/poll.sh

71 lines
2.0 KiB
Bash
Raw Normal View History

2017-04-13 12:28:53 +02:00
#!/bin/bash
2022-02-16 10:46:58 +01:00
start=$(date +%s)
2018-07-05 17:55:29 +02:00
2017-04-13 12:28:53 +02:00
CURDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
2022-02-16 10:46:58 +01:00
# Local status file that indicates whether offline mode is activated
# shellcheck source=/dev/null
source "/tmp/status"
2017-04-13 12:28:53 +02:00
# If offline mode, do a quick sync
2022-02-16 10:46:58 +01:00
# shellcheck disable=SC2154
2017-04-13 12:28:53 +02:00
if [ "$var_conn" == "off" ]; then
echo "[INFO] Offline mode enabled. Do a quick sync"
offlineimap -q
else
echo "[INFO] Do a normal sync."
2017-04-13 12:28:53 +02:00
offlineimap
fi
2022-02-16 10:46:58 +01:00
sync=$(date +%s)
2018-07-05 17:55:29 +02:00
# Index new mails which will be tagged with notmuch's new.tags
echo "[DEBUG] Sync notmuch database with new mails"
2017-04-13 12:28:53 +02:00
notmuch new
# Inbox (first time)
echo "[DEBUG] Tag mails in in INBOX folder"
notmuch tag +inbox -- path:INBOX/**
# Move selectedly tagged mails to folders if they are only in INBOX
echo "[DEBUG] Move tagged mails in INBOX to folders (move-tag.sh)"
2022-02-16 10:46:58 +01:00
bash "$CURDIR"/scripts/move-tag.sh "${var_conn}"
# Index again after mails have been moved
echo "[DEBUG] Update notmuch database with possibly moved mails"
notmuch new
2017-04-13 12:28:53 +02:00
### Sort emails
# Archiv
echo "[DEBUG] Tag mails in offline ARCHIVE folder"
2017-04-13 12:28:53 +02:00
notmuch tag +archive -- path:ARCHIVE/**
# Inbox (2nd time)
echo "[DEBUG] Tag mails in in INBOX folder"
notmuch tag +inbox -- path:INBOX/**
# Tag all tagged events with the general "event" tag
notmuch tag +event -- tag:"/event.*/"
2017-04-13 12:28:53 +02:00
# Automatic tagging based on location of mails in folders
2017-08-18 13:29:46 +02:00
echo "[DEBUG] Tag mails based on their folder (tag-folder.sh)"
2022-02-16 10:46:58 +01:00
bash "$CURDIR"/scripts/tag-folder.sh # generates commands from tag-folder.csv
bash "$CURDIR"/scripts/tag-folder-rules.sh # executes generated commands
# Handle pending days (tag:/pend*/)
echo "[DEBUG] Handle pending tags (pending.sh)"
bash "$CURDIR"/scripts/pending.sh
2017-08-18 13:29:46 +02:00
# Mark mails in certain folders read
echo "[DEBUG] Mark mails in trash folders read"
notmuch tag -unread -- path:Trash/**
notmuch tag -unread -- path:Trash.ignore-mod/**
2018-02-19 09:11:57 +01:00
# Remove "new" tag
echo "[DEBUG] Remove the 'new' tag"
notmuch tag -new -- tag:new
2017-08-18 13:29:46 +02:00
2022-02-16 10:46:58 +01:00
end=$(date +%s)
2018-07-05 17:55:29 +02:00
echo "[DEBUG] poll.sh exited after $((end-start))s ($((sync-start))s download)"