Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-04 Thread Pavel Zůna

On 2011-02-04 16:24, Rob Crittenden wrote:

Pavel Zuna wrote:

On 02/04/2011 04:03 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

On 02/02/2011 09:36 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the
client side.'

rob


This should get pushed for the translation in exceptions to work. It
only removes the defunct code and replaces it with something
functional.

Pavel


If the server locale is not en_US.UTF-8 then messages are translated.

rob


I know, but it's not the purpose of this patch to do the right
translation for the client. It's purpose is to fix the code to actually
perform the translation.

There's another patch (71) to do the right thing and it depends on this
one.

Pavel


Right but 71 fails if there are keywords to translate. I'd prefer to
hold off on both of these until we come to a more complete solution.

rob


No, that's 70 failing. :)

71 is the Accept-Language patch I posted today.

Pavel

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-04 Thread Rob Crittenden

Pavel Zuna wrote:

On 02/04/2011 04:03 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

On 02/02/2011 09:36 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the
client side.'

rob


This should get pushed for the translation in exceptions to work. It
only removes the defunct code and replaces it with something functional.

Pavel


If the server locale is not en_US.UTF-8 then messages are translated.

rob


I know, but it's not the purpose of this patch to do the right
translation for the client. It's purpose is to fix the code to actually
perform the translation.

There's another patch (71) to do the right thing and it depends on this
one.

Pavel


Right but 71 fails if there are keywords to translate. I'd prefer to 
hold off on both of these until we come to a more complete solution.


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-04 Thread Rob Crittenden

Pavel Zuna wrote:

On 02/02/2011 09:36 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the
client side.'

rob


This should get pushed for the translation in exceptions to work. It
only removes the defunct code and replaces it with something functional.

Pavel


If the server locale is not en_US.UTF-8 then messages are translated.

rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-04 Thread Pavel Zuna

On 02/04/2011 04:03 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

On 02/02/2011 09:36 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the
client side.'

rob


This should get pushed for the translation in exceptions to work. It
only removes the defunct code and replaces it with something functional.

Pavel


If the server locale is not en_US.UTF-8 then messages are translated.

rob


I know, but it's not the purpose of this patch to do the right translation for 
the client. It's purpose is to fix the code to actually perform the translation.


There's another patch (71) to do the right thing and it depends on this one.

Pavel

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-04 Thread Pavel Zuna

On 02/02/2011 09:36 PM, Rob Crittenden wrote:

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the
client side.'

rob


This should get pushed for the translation in exceptions to work. It only 
removes the defunct code and replaces it with something functional.


Pavel

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-02 Thread Rob Crittenden

Pavel Zuna wrote:

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel



On hold for now, see also patch 'Translate exception messages on the 
client side.'


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


[Freeipa-devel] [PATCH] Remove deprecated i18n code from ipalib.request and all references to it.

2011-02-02 Thread Pavel Zuna

This ticket effectively fixes the translation of exception messages.

Ticket #903

Pavel
>From b051be4d816f94ebab3fc932b3d2372d1cf0345a Mon Sep 17 00:00:00 2001
From: Pavel Zuna 
Date: Wed, 2 Feb 2011 15:37:14 -0500
Subject: [PATCH] Remove deprecated i18n code from ipalib/request and all references to it.

Ticket #903
---
 ipalib/errors.py  |2 +-
 ipalib/parameters.py  |2 +-
 ipalib/request.py |   40 -
 tests/test_ipalib/test_request.py |  161 -
 4 files changed, 2 insertions(+), 203 deletions(-)
 delete mode 100644 tests/test_ipalib/test_request.py

diff --git a/ipalib/errors.py b/ipalib/errors.py
index 20cd52b..63648d2 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 22b0321..23177b3 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 9a11fb9..15b26f5 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 548156d..000
--- a/tests/test_ipalib/test_request.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# Authors:
-#   Jason Gerard DeRose 
-#
-# 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 .
-
-"""
-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 con