[Checkins] SVN: Sandbox/nadako/zope.app.publisher/ The zope.publisher-related ZCML configuration and ModifiableBrowserLanguages adapter were moved into zope.publisher.
Dan Korostelev
nadako at gmail.com
Mon Aug 24 11:05:44 EDT 2009
Log message for revision 103156:
The zope.publisher-related ZCML configuration and ModifiableBrowserLanguages adapter were moved into zope.publisher.
Changed:
U Sandbox/nadako/zope.app.publisher/CHANGES.txt
U Sandbox/nadako/zope.app.publisher/buildout.cfg
U Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/__init__.py
U Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/configure.zcml
D Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/tests/test_browserlanguages.py
U Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/configure.zcml
U Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/http.zcml
-=-
Modified: Sandbox/nadako/zope.app.publisher/CHANGES.txt
===================================================================
--- Sandbox/nadako/zope.app.publisher/CHANGES.txt 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/CHANGES.txt 2009-08-24 15:05:44 UTC (rev 103156)
@@ -19,6 +19,11 @@
Backward-compatibility imports are provided, so there should not be much impact
for those who uses old imports.
+The CacheableBrowserLanguages and ModifiableBrowserLanguages adapters were
+moved into ``zope.publisher`` package, as well as ZCML class configuration
+for zope.publisher classes.
+
+
3.8.4 (2009-07-23)
==================
Modified: Sandbox/nadako/zope.app.publisher/buildout.cfg
===================================================================
--- Sandbox/nadako/zope.app.publisher/buildout.cfg 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/buildout.cfg 2009-08-24 15:05:44 UTC (rev 103156)
@@ -1,9 +1,10 @@
[buildout]
develop = .
+ ../zope.publisher
../zope.browserresource
../zope.ptresource
../zope.browsermenu
-parts = test coverage-test coverage-report
+parts = test coverage-test coverage-report pydev
[test]
recipe = zc.recipe.testrunner
@@ -19,3 +20,7 @@
eggs = z3c.coverage
scripts = coverage=coverage-report
arguments = ('coverage', 'coverage/report')
+
+[pydev]
+recipe = pb.recipes.pydev
+eggs = zope.app.publisher
Modified: Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/__init__.py
===================================================================
--- Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/__init__.py 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/__init__.py 2009-08-24 15:05:44 UTC (rev 103156)
@@ -15,56 +15,11 @@
$Id$
"""
-
-from zope.interface import implements
+# BBB imports
from zope.publisher.browser import BrowserLanguages
-from zope.i18n.interfaces import IUserPreferredLanguages
-from zope.i18n.interfaces import IModifiableUserPreferredLanguages
-
-from zope.publisher.defaultview import IDefaultViewNameAPI #BBB import
-from zope.publisher.defaultview import getDefaultViewName #BBB import
-from zope.publisher.defaultview import queryDefaultViewName #BBB import
-
-
-class NotCompatibleAdapterError(Exception):
- """Adapter not compatible with
- zope.i18n.interfaces.IModifiableBrowserLanguages has been used.
- """
-
-key = "zope.app.publisher.browser.IUserPreferredLanguages"
-
-class CacheableBrowserLanguages(BrowserLanguages):
-
- implements(IUserPreferredLanguages)
-
- def getPreferredLanguages(self):
- languages_data = self._getLanguagesData()
- if "overridden" in languages_data:
- return languages_data["overridden"]
- elif "cached" not in languages_data:
- languages_data["cached"] = super(
- CacheableBrowserLanguages, self).getPreferredLanguages()
- return languages_data["cached"]
-
- def _getLanguagesData(self):
- annotations = self.request.annotations
- languages_data = annotations.get(key)
- if languages_data is None:
- annotations[key] = languages_data = {}
- return languages_data
-
-class ModifiableBrowserLanguages(CacheableBrowserLanguages):
-
- implements(IModifiableUserPreferredLanguages)
-
- def setPreferredLanguages(self, languages):
- languages_data = self.request.annotations.get(key)
- if languages_data is None:
- # Better way to create a compatible with
- # IModifiableUserPreferredLanguages adapter is to use
- # CacheableBrowserLanguages as base class or as example.
- raise NotCompatibleAdapterError("Adapter not compatible with "
- "zope.i18n.interfaces.IModifiableBrowserLanguages "
- "has been used.")
- languages_data["overridden"] = languages
- self.request.setupLocale()
+from zope.publisher.browser import CacheableBrowserLanguages
+from zope.publisher.browser import ModifiableBrowserLanguages
+from zope.publisher.browser import NotCompatibleAdapterError
+from zope.publisher.defaultview import IDefaultViewNameAPI
+from zope.publisher.defaultview import getDefaultViewName
+from zope.publisher.defaultview import queryDefaultViewName
Modified: Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/configure.zcml
===================================================================
--- Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/configure.zcml 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/configure.zcml 2009-08-24 15:05:44 UTC (rev 103156)
@@ -7,37 +7,11 @@
<include package="zope.ptresource" />
<include package="zope.browsermenu" />
-<adapter
- factory=".ModifiableBrowserLanguages"
- for="zope.publisher.interfaces.http.IHTTPRequest"
- provides="zope.i18n.interfaces.IModifiableUserPreferredLanguages"
- />
-
<utility
name="Browser Skins"
component=".vocabulary.BrowserSkinsVocabulary"
/>
-<class class="zope.publisher.browser.BrowserRequest">
- <allow
- interface="zope.publisher.interfaces.browser.IBrowserApplicationRequest"
- attributes="response locale __str__"
- />
-</class>
-
-<class class="zope.publisher.browser.TestRequest">
- <allow
- interface="zope.publisher.interfaces.browser.IBrowserApplicationRequest"
- attributes="response"
- />
-</class>
-
-<class class="zope.publisher.browser.BrowserResponse">
- <allow
- interface="zope.publisher.interfaces.http.IHTTPResponse"
- />
-</class>
-
<!-- Management view selector -->
<!-- Get first accessible item from zmi_views menu -->
<browser:page
Deleted: Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/tests/test_browserlanguages.py
===================================================================
--- Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/tests/test_browserlanguages.py 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/browser/tests/test_browserlanguages.py 2009-08-24 15:05:44 UTC (rev 103156)
@@ -1,82 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (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.
-#
-##############################################################################
-"""Test Modifiable Browser Languages detector
-
-$Id$
-"""
-import unittest
-
-import zope.component
-from zope.interface import directlyProvides
-from zope.publisher.browser import BrowserLanguages
-from zope.publisher.tests.test_browserlanguages import TestRequest
-from zope.publisher.tests.test_browserlanguages import BrowserLanguagesTest
-from zope.annotation.interfaces import IAttributeAnnotatable
-from zope.annotation.attribute import AttributeAnnotations
-
-from zope.app.testing.placelesssetup import PlacelessSetup
-from zope.app.publisher.browser import CacheableBrowserLanguages
-from zope.app.publisher.browser import ModifiableBrowserLanguages
-from zope.app.publisher.browser import NotCompatibleAdapterError
-
-
-class CacheableBrowserLanguagesTests(PlacelessSetup, BrowserLanguagesTest):
-
- def setUp(self):
- super(CacheableBrowserLanguagesTests, self).setUp()
- zope.component.provideAdapter(AttributeAnnotations)
-
- def factory(self, request):
- directlyProvides(request, IAttributeAnnotatable)
- return CacheableBrowserLanguages(request)
-
- def test_cached_languages(self):
- eq = self.failUnlessEqual
- request = TestRequest("da, en, pt")
- browser_languages = self.factory(request)
- eq(list(browser_languages.getPreferredLanguages()), ["da", "en", "pt"])
- request["HTTP_ACCEPT_LANGUAGE"] = "ru, en"
- eq(list(browser_languages.getPreferredLanguages()), ["da", "en", "pt"])
-
-class ModifiableBrowserLanguagesTests(CacheableBrowserLanguagesTests):
-
- def factory(self, request):
- directlyProvides(request, IAttributeAnnotatable)
- return ModifiableBrowserLanguages(request)
-
- def test_setPreferredLanguages(self):
- eq = self.failUnlessEqual
- request = TestRequest("da, en, pt")
- browser_languages = self.factory(request)
- eq(list(browser_languages.getPreferredLanguages()), ["da", "en", "pt"])
- browser_languages.setPreferredLanguages(["ru", "en"])
- self.failUnless(request.localized)
- eq(list(browser_languages.getPreferredLanguages()), ["ru", "en"])
-
- def test_conflicting_adapters(self):
- request = TestRequest("da, en, pt")
- not_compatible_browser_languages = BrowserLanguages(request)
- browser_languages = self.factory(request)
- self.assertRaises(NotCompatibleAdapterError,
- browser_languages.setPreferredLanguages, ["ru", "en"])
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(CacheableBrowserLanguagesTests))
- suite.addTest(unittest.makeSuite(ModifiableBrowserLanguagesTests))
- return suite
-
-if __name__=='__main__':
- unittest.TextTestRunner().run(test_suite())
Modified: Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/configure.zcml
===================================================================
--- Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/configure.zcml 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/configure.zcml 2009-08-24 15:05:44 UTC (rev 103156)
@@ -3,9 +3,9 @@
xmlns:apidoc="http://namespaces.zope.org/apidoc"
>
+ <include package="zope.publisher" />
<include package=".browser" />
<include package=".xmlrpc" />
- <include file="http.zcml" />
</configure>
Modified: Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/http.zcml
===================================================================
--- Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/http.zcml 2009-08-24 15:03:12 UTC (rev 103155)
+++ Sandbox/nadako/zope.app.publisher/src/zope/app/publisher/http.zcml 2009-08-24 15:05:44 UTC (rev 103156)
@@ -2,19 +2,6 @@
xmlns="http://namespaces.zope.org/zope"
package="zope.publisher.http">
- <class class="zope.publisher.http.HTTPRequest">
- <require
- permission="zope.View"
- interface="zope.publisher.interfaces.http.IHTTPApplicationRequest"/>
- </class>
+ <!-- The contents of this file was moved into zope.publisher's configure.zcml -->
- <class class="zope.publisher.http.URLGetter">
- <allow
- attributes="get __getitem__ __str__" />
- </class>
-
- <class class="zope.publisher.http.DirectResult">
- <allow interface="zope.publisher.http.IResult" />
- </class>
-
</configure>
More information about the Checkins
mailing list