1
0
Fork 0

Add flake8 style check

This commit is contained in:
Lars Kruse 2017-05-09 23:59:42 +02:00
parent ce6ce6b5dd
commit 234ed00909
10 changed files with 28 additions and 15 deletions

2
.flake8 Normal file
View file

@ -0,0 +1,2 @@
[flake8]
exclude = django_mailbox/migrations, django_mailbox/south_migrations

View file

@ -23,6 +23,8 @@ def get_new_mail(mailbox_admin, request, queryset):
for mailbox in queryset.all(): for mailbox in queryset.all():
logger.debug('Receiving mail for %s' % mailbox) logger.debug('Receiving mail for %s' % mailbox)
mailbox.get_new_mail() mailbox.get_new_mail()
get_new_mail.short_description = 'Get new mail' get_new_mail.short_description = 'Get new mail'
@ -103,6 +105,7 @@ class MessageAdmin(admin.ModelAdmin):
) )
actions = [resend_message_received_signal] actions = [resend_message_received_signal]
if getattr(settings, 'DJANGO_MAILBOX_ADMIN_ENABLED', True): if getattr(settings, 'DJANGO_MAILBOX_ADMIN_ENABLED', True):
admin.site.register(Message, MessageAdmin) admin.site.register(Message, MessageAdmin)
admin.site.register(MessageAttachment, MessageAttachmentAdmin) admin.site.register(MessageAttachment, MessageAttachmentAdmin)

View file

@ -23,7 +23,7 @@ class Command(BaseCommand):
""" """
def handle(self, *args, **options): def handle(self, *args, **options):
ATTACHMENT_HASH_MAP = {} attachment_hash_map = {}
attachments_without_messages = MessageAttachment.objects.filter( attachments_without_messages = MessageAttachment.objects.filter(
message=None message=None
@ -38,7 +38,7 @@ class Command(BaseCommand):
md5 = hashlib.md5() md5 = hashlib.md5()
for chunk in attachment.document.file.chunks(): for chunk in attachment.document.file.chunks():
md5.update(chunk) md5.update(chunk)
ATTACHMENT_HASH_MAP[md5.hexdigest()] = attachment.pk attachment_hash_map[md5.hexdigest()] = attachment.pk
for message_record in Message.objects.all().order_by('id'): for message_record in Message.objects.all().order_by('id'):
message = email.message_from_string(message_record.body) message = email.message_from_string(message_record.body)
@ -51,9 +51,9 @@ class Command(BaseCommand):
md5 = hashlib.md5() md5 = hashlib.md5()
md5.update(part.get_payload(decode=True)) md5.update(part.get_payload(decode=True))
digest = md5.hexdigest() digest = md5.hexdigest()
if digest in ATTACHMENT_HASH_MAP: if digest in attachment_hash_map:
attachment = MessageAttachment.objects.get( attachment = MessageAttachment.objects.get(
pk=ATTACHMENT_HASH_MAP[digest] pk=attachment_hash_map[digest]
) )
attachment.message = message_record attachment.message = message_record
attachment.save() attachment.save()

View file

@ -733,7 +733,7 @@ class MessageAttachment(models.Model):
try: try:
headers = headers.encode('utf-8') headers = headers.encode('utf-8')
except UnicodeDecodeError: except UnicodeDecodeError:
headers = unicode(headers, 'utf-8').encode('utf-8') headers = headers.decode('utf-8').encode('utf-8')
return email.message_from_string(headers) return email.message_from_string(headers)
def _set_dehydrated_headers(self, email_object): def _set_dehydrated_headers(self, email_object):

View file

@ -171,7 +171,7 @@ class EmailMessageTestCase(TestCase):
) )
) )
def assertEqual(self, left, right): def assertEqual(self, left, right): # noqa: N802
if not isinstance(left, email.message.Message): if not isinstance(left, email.message.Message):
return super(EmailMessageTestCase, self).assertEqual(left, right) return super(EmailMessageTestCase, self).assertEqual(left, right)
return self.compare_email_objects(left, right) return self.compare_email_objects(left, right)

View file

@ -213,7 +213,7 @@ class TestProcessEmail(EmailMessageTestCase):
success = True success = True
try: try:
msg = self.mailbox.process_incoming_message(email_object) self.mailbox.process_incoming_message(email_object)
except ValueError: except ValueError:
success = False success = False
@ -232,7 +232,8 @@ class TestProcessEmail(EmailMessageTestCase):
# this is the code of _process_message() # this is the code of _process_message()
msg = Message() msg = Message()
# if STORE_ORIGINAL_MESSAGE: # if STORE_ORIGINAL_MESSAGE:
# msg.eml.save('%s.eml' % uuid.uuid4(), ContentFile(message), save=False) # msg.eml.save('%s.eml' % uuid.uuid4(), ContentFile(message),
# save=False)
msg.mailbox = self.mailbox msg.mailbox = self.mailbox
if 'subject' in message: if 'subject' in message:
msg.subject = convert_header_to_unicode(message['subject'])[0:255] msg.subject = convert_header_to_unicode(message['subject'])[0:255]
@ -246,7 +247,7 @@ class TestProcessEmail(EmailMessageTestCase):
msg.to_header = convert_header_to_unicode(message['Delivered-To']) msg.to_header = convert_header_to_unicode(message['Delivered-To'])
msg.save() msg.save()
#here the message is ok # here the message is ok
str_msg = message.as_string() str_msg = message.as_string()
message = self.mailbox._get_dehydrated_message(message, msg) message = self.mailbox._get_dehydrated_message(message, msg)
try: try:
@ -358,7 +359,8 @@ class TestProcessEmail(EmailMessageTestCase):
self.assertEqual(expected_from, actual_from) self.assertEqual(expected_from, actual_from)
def test_message_reply(self): def test_message_reply(self):
email_object = EmailMessage('Test subject', # subject email_object = EmailMessage(
'Test subject', # subject
'Test body', # body 'Test body', # body
'username@example.com', # from 'username@example.com', # from
['mr.test32@mail.ru'], # to ['mr.test32@mail.ru'], # to

View file

@ -59,6 +59,7 @@ class IMAPTestCase(EmailMessageTestCase):
return FAKE_UID_FETCH_SIZES return FAKE_UID_FETCH_SIZES
if arg2 == '(RFC822)': if arg2 == '(RFC822)':
return FAKE_UID_FETCH_MSG return FAKE_UID_FETCH_MSG
def imap_server_list_method(pattern=None): def imap_server_list_method(pattern=None):
return FAKE_LIST_ARCHIVE_FOLDERS_ANSWERS return FAKE_LIST_ARCHIVE_FOLDERS_ANSWERS
@ -88,6 +89,7 @@ class TestImapTransport(IMAPTestCase):
expected_message = self._get_email_object('generic_message.eml') expected_message = self._get_email_object('generic_message.eml')
self.assertEqual(expected_message, actual_message) self.assertEqual(expected_message, actual_message)
class TestImapArchivedTransport(TestImapTransport): class TestImapArchivedTransport(TestImapTransport):
def setUp(self): def setUp(self):
super(TestImapArchivedTransport, self).setUp() super(TestImapArchivedTransport, self).setUp()
@ -100,6 +102,7 @@ class TestImapArchivedTransport(TestImapTransport):
) )
self.transport.server = self.imap_server self.transport.server = self.imap_server
class TestMaxSizeImapTransport(TestImapTransport): class TestMaxSizeImapTransport(TestImapTransport):
@override_settings(DJANGO_MAILBOX_MAX_MESSAGE_SIZE=5807) @override_settings(DJANGO_MAILBOX_MAX_MESSAGE_SIZE=5807)
@ -115,7 +118,9 @@ class TestMaxSizeImapTransport(TestImapTransport):
def test_size_limit(self): def test_size_limit(self):
all_message_ids = self.transport._get_all_message_ids() all_message_ids = self.transport._get_all_message_ids()
small_message_ids = self.transport._get_small_message_ids(all_message_ids) small_message_ids = self.transport._get_small_message_ids(
all_message_ids,
)
self.assertEqual(len(small_message_ids), 1) self.assertEqual(len(small_message_ids), 1)
def test_get_email_message(self): def test_get_email_message(self):
@ -163,4 +168,3 @@ class TestPop3Transport(EmailMessageTestCase):
expected_message = self._get_email_object('generic_message.eml') expected_message = self._get_email_object('generic_message.eml')
self.assertEqual(expected_message, actual_message) self.assertEqual(expected_message, actual_message)

View file

@ -1,3 +1,5 @@
# all imports below are only used by external modules
# flake8: noqa
from django_mailbox.transports.imap import ImapTransport from django_mailbox.transports.imap import ImapTransport
from django_mailbox.transports.pop3 import Pop3Transport from django_mailbox.transports.pop3 import Pop3Transport
from django_mailbox.transports.maildir import MaildirTransport from django_mailbox.transports.maildir import MaildirTransport

View file

@ -4,9 +4,9 @@ import six
# Do *not* remove this, we need to use this in subclasses of EmailTransport # Do *not* remove this, we need to use this in subclasses of EmailTransport
if six.PY3: if six.PY3:
from email.errors import MessageParseError from email.errors import MessageParseError # noqa: F401
else: else:
from email.Errors import MessageParseError from email.Errors import MessageParseError # noqa: F401
class EmailTransport(object): class EmailTransport(object):

View file

@ -89,7 +89,7 @@ def convert_header_to_unicode(header):
header, header,
default_charset, default_charset,
) )
return unicode(header, default_charset, 'replace') return header.decode(default_charset, 'replace')
def get_body_from_message(message, maintype, subtype): def get_body_from_message(message, maintype, subtype):