diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-12-18 14:01:59 -0700 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-12-18 14:01:59 -0700 |
commit | dc54dee622bf9ff95a59530423ac5caa01868373 (patch) | |
tree | 77146ebd3fb1e6bcf793d78171c7d6a2a7c71ddc /ipalib/request.py | |
parent | 46e37ab14491db06ffa46b682c079c397e644014 (diff) | |
download | freeipa-dc54dee622bf9ff95a59530423ac5caa01868373.tar.gz freeipa-dc54dee622bf9ff95a59530423ac5caa01868373.tar.xz freeipa-dc54dee622bf9ff95a59530423ac5caa01868373.zip |
Started work on per-request gettext setup
Diffstat (limited to 'ipalib/request.py')
-rw-r--r-- | ipalib/request.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ipalib/request.py b/ipalib/request.py new file mode 100644 index 000000000..3e4b2798e --- /dev/null +++ b/ipalib/request.py @@ -0,0 +1,48 @@ +# Authors: +# Rob Crittenden <rcritten@redhat.com> +# 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; version 2 only +# +# 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, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +""" +Per-request thread-local data. +""" + +import threading +import locale +import gettext +from constants import OVERRIDE_ERROR + + +# Thread-local storage of most per-request contextrmation +context = threading.local() + + +# Thread-local storage of gettext.Translations instances (one per gettext +# domain): +translations = threading.local() + + +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 |