paperless-ngx/src/paperless_mail/tasks.py

31 lines
952 B
Python
Raw Normal View History

import logging
from paperless_mail.mail import MailAccountHandler, MailError
from paperless_mail.models import MailAccount
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:
logging.getLogger(__name__).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:
logging.getLogger(__name__).error(f"Unknown mail acccount: {name}")