From 2d5424869375bb9d3c4b24489aa164d9b8095e29 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Tue, 19 Jan 2010 17:33:29 +0000 Subject: - When WebOb 0.9.7.1 was used, a deprecation warning was issued for the class attribute named ``charset`` within ``repoze.bfg.request.Request``. BFG now *requires* WebOb >= 0.9.7, and code was added so that this deprecation warning has disappeared. --- CHANGES.txt | 12 +++++++++++- repoze/bfg/request.py | 4 ++-- repoze/bfg/tests/test_request.py | 11 +++++++---- setup.py | 2 +- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 98ab464b7..88328042c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,13 +11,23 @@ Bug Fixes is called. This makes it possible to use the global Zope component registry as a BFG application registry. +- When WebOb 0.9.7.1 was used, a deprecation warning was issued for + the class attribute named ``charset`` within + ``repoze.bfg.request.Request``. BFG now *requires* WebOb >= 0.9.7, + and code was added so that this deprecation warning has disappeared. + Documentation ------------- - Change renderings of ZCML directive documentation. - Add a narrative documentation chapter: "Using the Zope Component - Architecture in ``repoze.bfg``" + Architecture in repoze.bfg". + +Dependencies +------------ + +- Require WebOb >= 0.9.7 1.2b1 (2010-01-18) ================== diff --git a/repoze/bfg/request.py b/repoze/bfg/request.py index 32f98eff7..4379419e4 100644 --- a/repoze/bfg/request.py +++ b/repoze/bfg/request.py @@ -13,11 +13,11 @@ def make_request_ascii(event): code written before :mod:`repoze.bfg` 0.7.0 can continue to work without a change""" request = event.request - request.charset = None + request.default_charset = None class Request(WebobRequest): implements(IRequest) - charset = 'utf-8' + default_charset = 'utf-8' # override default WebOb "environ['adhoc_attr']" mutation behavior __getattr__ = object.__getattribute__ diff --git a/repoze/bfg/tests/test_request.py b/repoze/bfg/tests/test_request.py index 6dd05a1ec..851389d39 100644 --- a/repoze/bfg/tests/test_request.py +++ b/repoze/bfg/tests/test_request.py @@ -9,7 +9,7 @@ class TestMakeRequestASCII(unittest.TestCase): request = DummyRequest() event = DummyNewRequestEvent(request) self._callFUT(event) - self.assertEqual(request.charset, None) + self.assertEqual(request.default_charset, None) class TestRequest(unittest.TestCase): def _makeOne(self, environ): @@ -18,7 +18,10 @@ class TestRequest(unittest.TestCase): def _getTargetClass(self): from repoze.bfg.request import Request return Request - + + def test_charset_defaults_to_utf8(self): + r = self._makeOne({'PATH_INFO':'/'}) + self.assertEqual(r.charset, 'utf-8') def test_params_decoded_from_utf_8_by_default(self): environ = { @@ -28,13 +31,13 @@ class TestRequest(unittest.TestCase): request = self._makeOne(environ) self.assertEqual(request.GET['la'], u'La Pe\xf1a') - def test_params_bystring_when_charset_None(self): + def test_params_bystring_when_default_charset_is_None(self): environ = { 'PATH_INFO':'/', 'QUERY_STRING':'la=La%20Pe%C3%B1a' } request = self._makeOne(environ) - request.charset = None + request.default_charset = None self.assertEqual(request.GET['la'], 'La Pe\xc3\xb1a') def test_class_implements(self): diff --git a/setup.py b/setup.py index 92ac1a3b4..30db71795 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ install_requires=[ 'Paste > 1.7', # temp version pin to prevent PyPi install failure :-( 'PasteDeploy', 'PasteScript', - 'WebOb>=0.9.6', # tests fail with earlier versions + 'WebOb>=0.9.7', # "default_charset" 'repoze.lru', 'setuptools', 'sourcecodegen>=0.6.11', # tests fail without this requirement? (wtf) -- cgit v1.2.3