paperless-ngx/src/paperless_mail/tasks.py

34 lines
963 B
Python
Raw Normal View History

import logging
from paperless_mail.mail import MailAccountHandler, MailError
from paperless_mail.models import MailAccount
2021-02-05 01:10:29 +01:00
logger = logging.getLogger("paperless.mail.tasks")
def process_mail_accounts():
2020-11-17 15:23:17 +01:00
total_new_documents = 0
for account in MailAccount.objects.all():
try:
total_new_documents += MailAccountHandler().handle_mail_account(
account)
except MailError as e:
2021-02-05 01:10:29 +01:00
logger.error(
f"Error while processing mail account {account}: {e}",
exc_info=True
)
2020-11-17 15:23:17 +01:00
if total_new_documents > 0:
return f"Added {total_new_documents} document(s)."
else:
return "No new documents were added."
def process_mail_account(name):
2020-12-01 14:31:36 +01:00
try:
account = MailAccount.objects.get(name=name)
MailAccountHandler().handle_mail_account(account)
2020-12-01 14:31:36 +01:00
except MailAccount.DoesNotExist:
2021-02-05 01:10:29 +01:00
logger.error(f"Unknown mail acccount: {name}")