Fix bytes vs. string issue for mailmon on python3

This commit is contained in:
Lance Edgar 2023-02-04 17:20:14 -06:00
parent bcd54bb8b6
commit 7c423c0d7f
4 changed files with 9 additions and 20 deletions

View file

@ -2,7 +2,7 @@
################################################################################ ################################################################################
# #
# Rattail -- Retail Software Framework # Rattail -- Retail Software Framework
# Copyright © 2010-2021 Lance Edgar # Copyright © 2010-2023 Lance Edgar
# #
# This file is part of Rattail. # This file is part of Rattail.
# #
@ -24,8 +24,6 @@
Mail Monitor Actions Mail Monitor Actions
""" """
from __future__ import unicode_literals, absolute_import
import os import os
import shutil import shutil
import tempfile import tempfile
@ -81,7 +79,8 @@ def download_message(server, msg_uid, output_dir, locking=False):
response, msg_body = msg_data[0] response, msg_body = msg_data[0]
# figure out where we need to write the file # figure out where we need to write the file
filename = '{}.eml'.format(msg_uid) # nb. msg_uid is bytes, must convert
filename = '{}.eml'.format(msg_uid.decode('utf_8'))
if locking: if locking:
tempdir = tempfile.mkdtemp() tempdir = tempfile.mkdtemp()
path = os.path.join(tempdir, filename) path = os.path.join(tempdir, filename)

View file

@ -2,7 +2,7 @@
################################################################################ ################################################################################
# #
# Rattail -- Retail Software Framework # Rattail -- Retail Software Framework
# Copyright © 2010-2021 Lance Edgar # Copyright © 2010-2023 Lance Edgar
# #
# This file is part of Rattail. # This file is part of Rattail.
# #
@ -24,10 +24,6 @@
Mail Monitor Configuration Mail Monitor Configuration
""" """
from __future__ import unicode_literals, absolute_import
import six
from rattail.config import ConfigProfile, parse_list from rattail.config import ConfigProfile, parse_list
from rattail.exceptions import ConfigurationError from rattail.exceptions import ConfigurationError
@ -122,12 +118,12 @@ def load_mailmon_profiles(config):
try: try:
profile.validate() profile.validate()
except ConfigurationError as error: except ConfigurationError as error:
log.warning(six.text_type(error)) log.warning(str(error))
else: else:
monitored[key] = profile monitored[key] = profile
# finally let each account know what it should monitor # finally let each account know what it should monitor
for account in six.itervalues(accounts): for account in accounts.values():
account.monitored = [m for k, m in monitored.items() account.monitored = [m for k, m in monitored.items()
if k != '__accounts__' if k != '__accounts__'
and m.imap_account == account.key] and m.imap_account == account.key]

View file

@ -2,7 +2,7 @@
################################################################################ ################################################################################
# #
# Rattail -- Retail Software Framework # Rattail -- Retail Software Framework
# Copyright © 2010-2022 Lance Edgar # Copyright © 2010-2023 Lance Edgar
# #
# This file is part of Rattail. # This file is part of Rattail.
# #
@ -24,8 +24,6 @@
Mail Monitor Daemon Mail Monitor Daemon
""" """
from __future__ import unicode_literals, absolute_import
import re import re
import time import time
import imaplib import imaplib
@ -33,8 +31,6 @@ import imaplib
import logging import logging
# from traceback import format_exception # from traceback import format_exception
import six
from rattail.daemon import Daemon from rattail.daemon import Daemon
from rattail.mailmon.config import load_mailmon_profiles from rattail.mailmon.config import load_mailmon_profiles
from rattail.mailmon.util import (get_lastrun, from rattail.mailmon.util import (get_lastrun,
@ -62,7 +58,7 @@ class MailMonitorDaemon(Daemon):
monitored = load_mailmon_profiles(self.config) monitored = load_mailmon_profiles(self.config)
# loop thru all accounts # loop thru all accounts
for key, account in six.iteritems(monitored['__accounts__']): for key, account in monitored['__accounts__'].items():
# fire up the account watcher thread # fire up the account watcher thread
watcher = IMAPAccountWatcher(self.config, account) watcher = IMAPAccountWatcher(self.config, account)

View file

@ -2,7 +2,7 @@
################################################################################ ################################################################################
# #
# Rattail -- Retail Software Framework # Rattail -- Retail Software Framework
# Copyright © 2010-2022 Lance Edgar # Copyright © 2010-2023 Lance Edgar
# #
# This file is part of Rattail. # This file is part of Rattail.
# #
@ -24,8 +24,6 @@
MailMon Utilities MailMon Utilities
""" """
from __future__ import unicode_literals, absolute_import
import datetime import datetime
from rattail.db import api from rattail.db import api