From 499d2b55e99fa2021166e38753e81df9d40dac1f Mon Sep 17 00:00:00 2001 From: mnandri Date: Sat, 19 Dec 2015 19:30:12 +0100 Subject: moving custom to_unicode to pixelated.support --- .../pixelated/adapter/mailstore/leap_mailstore.py | 2 +- service/pixelated/adapter/search/__init__.py | 4 +-- service/pixelated/resources/mails_resource.py | 2 +- service/pixelated/support/functional.py | 7 +++++ service/pixelated/utils.py | 22 ------------- service/test/unit/adapter/search/test_search.py | 2 +- service/test/unit/support/test_functional.py | 36 ++++++++++++++++++++++ service/test/unit/test_utils.py | 36 ---------------------- 8 files changed, 47 insertions(+), 64 deletions(-) delete mode 100755 service/pixelated/utils.py create mode 100644 service/test/unit/support/test_functional.py delete mode 100755 service/test/unit/test_utils.py (limited to 'service') diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index 2660a208..5637e763 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -26,7 +26,7 @@ from pixelated.adapter.mailstore.mailstore import MailStore, underscore_uuid from leap.mail.mail import Message from pixelated.adapter.model.mail import Mail, InputMail -from pixelated.utils import to_unicode +from pixelated.support.functional import to_unicode class AttachmentInfo(object): diff --git a/service/pixelated/adapter/search/__init__.py b/service/pixelated/adapter/search/__init__.py index 8d0b1f4e..1c06f66c 100644 --- a/service/pixelated/adapter/search/__init__.py +++ b/service/pixelated/adapter/search/__init__.py @@ -28,11 +28,9 @@ from whoosh.qparser import QueryParser from whoosh.qparser import MultifieldParser from whoosh.writing import AsyncWriter from whoosh import sorting -from pixelated.support.functional import unique +from pixelated.support.functional import unique, to_unicode import traceback -from pixelated.utils import to_unicode - class SearchEngine(object): DEFAULT_INDEX_HOME = os.path.join(os.environ['HOME'], '.leap') diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index 8874fe16..38786e11 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -9,7 +9,7 @@ from twisted.internet import defer from twisted.python.log import err from leap.common import events -from pixelated.utils import to_unicode +from pixelated.support.functional import to_unicode class MailsUnreadResource(Resource): diff --git a/service/pixelated/support/functional.py b/service/pixelated/support/functional.py index b496eb95..2e293625 100644 --- a/service/pixelated/support/functional.py +++ b/service/pixelated/support/functional.py @@ -28,3 +28,10 @@ def unique(_list): def compact(_list): return [a for a in _list if a] + + +def to_unicode(text): + if text and not isinstance(text, unicode): + encoding = 'utf-8' + return unicode(text, encoding=encoding) + return text diff --git a/service/pixelated/utils.py b/service/pixelated/utils.py deleted file mode 100755 index 2e0f1f88..00000000 --- a/service/pixelated/utils.py +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (c) 2015 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated 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 Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Pixelated. If not, see . - - -def to_unicode(text): - if text and not isinstance(text, unicode): - encoding = 'utf-8' - return unicode(text, encoding=encoding) - return text diff --git a/service/test/unit/adapter/search/test_search.py b/service/test/unit/adapter/search/test_search.py index 2e7badff..2583352c 100644 --- a/service/test/unit/adapter/search/test_search.py +++ b/service/test/unit/adapter/search/test_search.py @@ -22,7 +22,7 @@ from pixelated.adapter.search import SearchEngine from tempdir import TempDir from test.support import test_helper -from pixelated.utils import to_unicode +from pixelated.support.functional import to_unicode INDEX_KEY = '\xde3?\x87\xff\xd9\xd3\x14\xf0\xa7>\x1f%C{\x16.\\\xae\x8c\x13\xa7\xfb\x04\xd4]+\x8d_\xed\xd1\x8d\x0bI' \ '\x8a\x0e\xa4tm\xab\xbf\xb4\xa5\x99\x00d\xd5w\x9f\x18\xbc\x1d\xd4_W\xd2\xb6\xe8H\x83\x1b\xd8\x9d\xad' diff --git a/service/test/unit/support/test_functional.py b/service/test/unit/support/test_functional.py new file mode 100644 index 00000000..ad3cb16c --- /dev/null +++ b/service/test/unit/support/test_functional.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2014 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated 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 Affero General Public License for more details. +# +# along with Pixelated. If not, see . +# You should have received a copy of the GNU Affero General Public License + + +import unittest + +from pixelated.support.functional import to_unicode + + +class UtilsTest(unittest.TestCase): + + def test_to_unicode_guesses_encoding_and_unicode_text(self): + text = 'coração' + self.assertEqual(u'coração', to_unicode(text)) + + def test_to_unicode_self(self): + text = u'already unicode' + self.assertEqual(text, to_unicode(text)) + + def test_to_unicode_empty_string(self): + text = '' + self.assertEqual(text, to_unicode(text)) diff --git a/service/test/unit/test_utils.py b/service/test/unit/test_utils.py deleted file mode 100755 index ffaf3c8d..00000000 --- a/service/test/unit/test_utils.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright (c) 2014 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated 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 Affero General Public License for more details. -# -# along with Pixelated. If not, see . -# You should have received a copy of the GNU Affero General Public License - - -import unittest - -from pixelated.utils import to_unicode - - -class UtilsTest(unittest.TestCase): - - def test_to_unicode_guesses_encoding_and_unicode_text(self): - text = 'coração' - self.assertEqual(u'coração', to_unicode(text)) - - def test_to_unicode_self(self): - text = u'already unicode' - self.assertEqual(text, to_unicode(text)) - - def test_to_unicode_empty_string(self): - text = '' - self.assertEqual(text, to_unicode(text)) -- cgit v1.2.3