summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/errors.py2
-rw-r--r--ipalib/parameters.py2
-rw-r--r--ipalib/request.py40
-rw-r--r--tests/test_ipalib/test_request.py161
4 files changed, 2 insertions, 203 deletions
diff --git a/ipalib/errors.py b/ipalib/errors.py
index 6883cbdab..e1d85c75d 100644
--- a/ipalib/errors.py
+++ b/ipalib/errors.py
@@ -101,7 +101,7 @@ current block assignments:
"""
from inspect import isclass
-from request import ugettext, ungettext
+from text import _ as ugettext, ngettext as ungettext
from constants import TYPE_ERROR
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index 164374e00..daec1d6a9 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -102,7 +102,7 @@ a more detailed description for clarity.
import re
from types import NoneType
from util import make_repr
-from request import ugettext
+from text import _ as ugettext
from plugable import ReadOnly, lock, check_name
from errors import ConversionError, RequirementError, ValidationError
from errors import PasswordMismatch
diff --git a/ipalib/request.py b/ipalib/request.py
index 9a11fb9c3..15b26f598 100644
--- a/ipalib/request.py
+++ b/ipalib/request.py
@@ -23,8 +23,6 @@ Per-request thread-local data.
"""
import threading
-import locale
-import gettext
from base import ReadOnly, lock
from constants import OVERRIDE_ERROR, CALLABLE_ERROR
@@ -58,41 +56,3 @@ def destroy_context():
value.disconnect()
context.__dict__.clear()
-
-def ugettext(message):
- if hasattr(context, 'ugettext'):
- return context.ugettext(message)
- return message.decode('UTF-8')
-
-
-def ungettext(singular, plural, n):
- if hasattr(context, 'ungettext'):
- return context.ungettext(singular, plural, n)
- if n == 1:
- return singular.decode('UTF-8')
- return plural.decode('UTF-8')
-
-
-def set_languages(*languages):
- if hasattr(context, 'languages'):
- raise StandardError(OVERRIDE_ERROR %
- ('context', 'languages', context.languages, languages)
- )
- if len(languages) == 0:
- languages = locale.getdefaultlocale()[:1]
- context.languages = languages
- assert type(context.languages) is tuple
-
-
-def create_translation(domain, localedir, *languages):
- if hasattr(context, 'ugettext') or hasattr(context, 'ungettext'):
- raise StandardError(
- 'create_translation() already called in thread %r' %
- threading.currentThread().getName()
- )
- set_languages(*languages)
- translation = gettext.translation(domain,
- localedir=localedir, languages=context.languages, fallback=True
- )
- context.ugettext = translation.ugettext
- context.ungettext = translation.ungettext
diff --git a/tests/test_ipalib/test_request.py b/tests/test_ipalib/test_request.py
deleted file mode 100644
index 548156d2b..000000000
--- a/tests/test_ipalib/test_request.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# Authors:
-# Jason Gerard DeRose <jderose@redhat.com>
-#
-# Copyright (C) 2008 Red Hat
-# see file 'COPYING' for use and warranty contextrmation
-#
-# 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/>.
-
-"""
-Test the `ipalib.request` module.
-"""
-
-import threading
-import locale
-from tests.util import raises, assert_equal
-from tests.util import TempDir, dummy_ugettext, dummy_ungettext
-from ipalib.constants import OVERRIDE_ERROR
-from ipalib import request
-
-
-def test_ugettext():
- """
- Test the `ipalib.request.ugettext` function.
- """
- f = request.ugettext
- context = request.context
- message = 'Hello, world!'
-
- # Test with no context.ugettext:
- assert not hasattr(context, 'ugettext')
- assert_equal(f(message), u'Hello, world!')
-
- # Test with dummy context.ugettext:
- assert not hasattr(context, 'ugettext')
- dummy = dummy_ugettext()
- context.ugettext = dummy
- assert f(message) is dummy.translation
- assert dummy.message is message
-
- # Cleanup
- del context.ugettext
- assert not hasattr(context, 'ugettext')
-
-
-def test_ungettext():
- """
- Test the `ipalib.request.ungettext` function.
- """
- f = request.ungettext
- context = request.context
- singular = 'Goose'
- plural = 'Geese'
-
- # Test with no context.ungettext:
- assert not hasattr(context, 'ungettext')
- assert_equal(f(singular, plural, 1), u'Goose')
- assert_equal(f(singular, plural, 2), u'Geese')
-
- # Test singular with dummy context.ungettext
- assert not hasattr(context, 'ungettext')
- dummy = dummy_ungettext()
- context.ungettext = dummy
- assert f(singular, plural, 1) is dummy.translation_singular
- assert dummy.singular is singular
- assert dummy.plural is plural
- assert dummy.n == 1
- del context.ungettext
- assert not hasattr(context, 'ungettext')
-
- # Test plural with dummy context.ungettext
- assert not hasattr(context, 'ungettext')
- dummy = dummy_ungettext()
- context.ungettext = dummy
- assert f(singular, plural, 2) is dummy.translation_plural
- assert dummy.singular is singular
- assert dummy.plural is plural
- assert dummy.n == 2
- del context.ungettext
- assert not hasattr(context, 'ungettext')
-
-
-def test_set_languages():
- """
- Test the `ipalib.request.set_languages` function.
- """
- f = request.set_languages
- c = request.context
- langs = ('ru', 'en')
-
- # Test that StandardError is raised if languages has already been set:
- assert not hasattr(c, 'languages')
- c.languages = None
- e = raises(StandardError, f, *langs)
- assert str(e) == OVERRIDE_ERROR % ('context', 'languages', None, langs)
- del c.languages
-
- # Test setting the languages:
- assert not hasattr(c, 'languages')
- f(*langs)
- assert c.languages == langs
- del c.languages
-
- # Test setting language from locale.getdefaultlocale()
- assert not hasattr(c, 'languages')
- f()
- assert c.languages == locale.getdefaultlocale()[:1]
- del c.languages
- assert not hasattr(c, 'languages')
-
-
-def test_create_translation():
- """
- Test the `ipalib.request.create_translation` function.
- """
- f = request.create_translation
- c = request.context
- t = TempDir()
-
- # Test that StandardError is raised if ugettext or ungettext:
- assert not (hasattr(c, 'ugettext') or hasattr(c, 'ungettext'))
- for name in ('ugettext', 'ungettext'):
- setattr(c, name, None)
- e = raises(StandardError, f, 'ipa', None)
- assert str(e) == (
- 'create_translation() already called in thread %r' %
- threading.currentThread().getName()
- )
- delattr(c, name)
-
- # Test using default language:
- assert not hasattr(c, 'ugettext')
- assert not hasattr(c, 'ungettext')
- assert not hasattr(c, 'languages')
- f('ipa', t.path)
- assert hasattr(c, 'ugettext')
- assert hasattr(c, 'ungettext')
- assert c.languages == locale.getdefaultlocale()[:1]
- del c.ugettext
- del c.ungettext
- del c.languages
-
- # Test using explicit languages:
- langs = ('de', 'es')
- f('ipa', t.path, *langs)
- assert hasattr(c, 'ugettext')
- assert hasattr(c, 'ungettext')
- assert c.languages == langs
- del c.ugettext
- del c.ungettext
- del c.languages