diff options
author | Tomás Touceda <chiiph@leap.se> | 2013-10-31 10:18:47 -0300 |
---|---|---|
committer | Tomás Touceda <chiiph@leap.se> | 2013-10-31 10:18:47 -0300 |
commit | 39a8f052df9d5a7d1d89a2c7b5cee599624f9b20 (patch) | |
tree | 3155be333f76fed86de50adadcdf6f87cd6c49c6 | |
parent | 21a9fd702bdeb4f8edd57535df32d946152a510c (diff) |
Refactor out get_email_charset to leap.common
-rw-r--r-- | mail/changes/bug_refactor_utils | 1 | ||||
-rw-r--r-- | mail/src/leap/mail/imap/fetch.py | 2 | ||||
-rw-r--r-- | mail/src/leap/mail/imap/server.py | 2 | ||||
-rw-r--r-- | mail/src/leap/mail/utils.py | 44 |
4 files changed, 3 insertions, 46 deletions
diff --git a/mail/changes/bug_refactor_utils b/mail/changes/bug_refactor_utils new file mode 100644 index 00000000..8ba697af --- /dev/null +++ b/mail/changes/bug_refactor_utils @@ -0,0 +1 @@ + o Refactor get_email_charset to leap.common.
\ No newline at end of file diff --git a/mail/src/leap/mail/imap/fetch.py b/mail/src/leap/mail/imap/fetch.py index a776ac70..2775d71d 100644 --- a/mail/src/leap/mail/imap/fetch.py +++ b/mail/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/mail/src/leap/mail/imap/server.py b/mail/src/leap/mail/imap/server.py index 5a98315e..9e3e23e6 100644 --- a/mail/src/leap/mail/imap/server.py +++ b/mail/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/mail/src/leap/mail/utils.py b/mail/src/leap/mail/utils.py deleted file mode 100644 index 22e16a75..00000000 --- a/mail/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 <http://www.gnu.org/licenses/>. -""" -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: <something>; charset=<charset> - charset_re = r'''charset=(?P<charset>[\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 |