1
0
Fork 1
mirror of https://github.com/coddingtonbear/django-mailbox.git synced 2026-07-09 22:38:19 +02:00

Collect a timestamp from emails + migration

This commit is contained in:
Mike Varga 2022-10-17 13:09:24 -04:00
parent 47da2de396
commit 6673c58ca4
4 changed files with 30 additions and 0 deletions

View file

@ -79,6 +79,7 @@ class MessageAdmin(admin.ModelAdmin):
]
list_display = (
'subject',
'timestamp',
'processed',
'read',
'mailbox',

View file

@ -0,0 +1,20 @@
# Generated by Django 3.1.4 on 2022-10-17 11:13
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('django_mailbox', '0008_auto_20190219_1553'),
]
operations = [
migrations.AddField(
model_name='message',
name='timestamp',
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Timestamp'),
preserve_default=False,
),
]

View file

@ -18,6 +18,7 @@ import os.path
import sys
import uuid
from datetime import timedelta
from dateutil import parser
from tempfile import NamedTemporaryFile
import django
@ -379,6 +380,11 @@ class Mailbox(models.Model):
msg.to_header = utils.convert_header_to_unicode(
message['Delivered-To']
)
if "date" in message:
msg.timestamp = parser.parse(message["date"])
elif "Date" in message:
msg.timestamp = parser.parse(message["Date"])
if Message.objects.filter(message_id=msg.message_id).count() != 0:
logger.info("Skipping existing message: %s", msg.message_id,)
@ -525,6 +531,8 @@ class Message(models.Model):
help_text=_('True if the e-mail body is Base64 encoded'),
)
timestamp = models.DateTimeField(_('Timestamp'))
processed = models.DateTimeField(
_('Processed'),
auto_now_add=True

View file

@ -56,5 +56,6 @@ setup(
include_package_data=True,
install_requires=[
'six>=1.6.1',
'python-dateutil==2.8.2',
]
)