From 4efecad56eae8d777d2fa0d39c4de13b022c7bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Thu, 31 Oct 2013 10:18:47 -0300 Subject: Refactor out get_email_charset to leap.common --- changes/bug_refactor_utils | 1 + src/leap/mail/imap/fetch.py | 2 +- src/leap/mail/imap/server.py | 2 +- src/leap/mail/utils.py | 44 -------------------------------------------- 4 files changed, 3 insertions(+), 46 deletions(-) create mode 100644 changes/bug_refactor_utils delete mode 100644 src/leap/mail/utils.py diff --git a/changes/bug_refactor_utils b/changes/bug_refactor_utils new file mode 100644 index 0000000..8ba697a --- /dev/null +++ b/changes/bug_refactor_utils @@ -0,0 +1 @@ + o Refactor get_email_charset to leap.common. \ No newline at end of file diff --git a/src/leap/mail/imap/fetch.py b/src/leap/mail/imap/fetch.py index a776ac7..2775d71 100644 --- a/src/leap/mail/imap/fetch.py +++ b/src/leap/mail/imap/fetch.py @@ -40,7 +40,7 @@ from leap.common.events.events_pb2 import IMAP_MSG_DECRYPTED from leap.common.events.events_pb2 import IMAP_MSG_SAVED_LOCALLY from leap.common.events.events_pb2 import IMAP_MSG_DELETED_INCOMING from leap.common.events.events_pb2 import IMAP_UNREAD_MAIL -from leap.mail.utils import get_email_charset +from leap.common.mail import get_email_charset logger = logging.getLogger(__name__) diff --git a/src/leap/mail/imap/server.py b/src/leap/mail/imap/server.py index 5a98315..9e3e23e 100644 --- a/src/leap/mail/imap/server.py +++ b/src/leap/mail/imap/server.py @@ -34,8 +34,8 @@ from twisted.python import log from leap.common import events as leap_events from leap.common.events.events_pb2 import IMAP_UNREAD_MAIL from leap.common.check import leap_assert, leap_assert_type +from leap.common.mail import get_email_charset from leap.soledad.client import Soledad -from leap.mail.utils import get_email_charset logger = logging.getLogger(__name__) diff --git a/src/leap/mail/utils.py b/src/leap/mail/utils.py deleted file mode 100644 index 22e16a7..0000000 --- a/src/leap/mail/utils.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# utils.py -# Copyright (C) 2013 LEAP -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -""" -Utility functions for email. -""" -import email -import re - - -def get_email_charset(content): - """ - Mini parser to retrieve the charset of an email. - - :param content: mail contents - :type content: unicode - - :returns: the charset as parsed from the contents - :rtype: str - """ - charset = "UTF-8" - try: - em = email.message_from_string(content.encode("utf-8")) - # Miniparser for: Content-Type: ; charset= - charset_re = r'''charset=(?P[\w|\d|-]*)''' - charset = re.findall(charset_re, em["Content-Type"])[0] - if charset is None or len(charset) == 0: - charset = "UTF-8" - except Exception: - pass - return charset -- cgit v1.2.3