summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/changes/bug_refactor_utils1
-rw-r--r--mail/src/leap/mail/imap/fetch.py2
-rw-r--r--mail/src/leap/mail/imap/server.py2
-rw-r--r--mail/src/leap/mail/utils.py44
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