[Zope-Checkins] CVS: Zope3/lib/python/Zope/Publisher/Browser - BrowserLanguages.py:1.1.2.1

Jim Fulton jim@zope.com
Fri, 18 Jan 2002 15:49:34 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/Publisher/Browser
In directory cvs.zope.org:/tmp/cvs-serv22101

Added Files:
      Tag: Zope-3x-branch
	BrowserLanguages.py 
Log Message:
Juan David Ibenez Palomar and Jim

Added an adapter for getting user-prefered languages from a browser
using HTTP headers.


=== Added File Zope3/lib/python/Zope/Publisher/Browser/BrowserLanguages.py ===
##############################################################################
#
# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
# 
##############################################################################
"""

Revision information: $Id: BrowserLanguages.py,v 1.1.2.1 2002/01/18 20:49:34 jim Exp $
"""


from Zope.I18n.IUserPreferedLanguages import IUserPreferedLanguages


class BrowserLanguages:

    __implements__ =  IUserPreferedLanguages


    def __init__(self, request):
        self.request = request


    ############################################################
    # Implementation methods for interface
    # Zope.I18n.IUserPreferedLanguages.

    def getLanguages(self):
        '''See interface IUserPreferedLanguages'''

        langs = []
        for lang in self.request['HTTP_ACCEPT_LANGUAGE'].split(','):
            lang = lang.strip()
            if lang:
                langs.append(lang.split(';')[0])
        return langs


    #
    ############################################################