summaryrefslogtreecommitdiff
path: root/pyramid
AgeCommit message (Collapse)Author
2011-07-01Merge branch 'master' of github.com:Pylons/pyramidChris McDonough
2011-07-01Add JSONP rendererChris McDonough
2011-06-30Zap word "either" describing request_method. By my reading, the word ↵Niall O'Higgins
"either" implies there is an alternative to one of the listed strings (perhaps that you can pass some other kind of value such as a sequence of allowed request methods - which is not the case).
2011-06-28unused importChris McDonough
2011-06-26- ``pyramid.testing.DummyRequest`` now raises deprecation warnings whenChris McDonough
attributes deprecated for ``pyramid.request.Request`` are accessed (like ``response_content_type``). This is for the benefit of folks running unit tests which use DummyRequest instead of a "real" request, so they know things are deprecated without necessarily needing a functional test suite.
2011-06-26- Added ``mako.preprocessor`` config file parameter; allows for a MakoChris McDonough
preprocessor to be specified as a Python callable or Python dotted name. See https://github.com/Pylons/pyramid/pull/183 for rationale. Closes #183.
2011-06-26try to replicate github #213Chris McDonough
2011-06-26- Accessing or setting deprecated response_* attrs on requestChris McDonough
(e.g. ``response_content_type``) now issues a deprecation warning at access time rather than at rendering time.
2011-06-26appeasementChris McDonough
2011-06-23coverageChris McDonough
2011-06-23A fix for classmethod-based custom predicates with no __text__ property.Michael Merickel
2011-06-22- If multiple specs were provided in a single call toChris McDonough
``config.add_translation_dirs``, the directories were inserted into the beginning of the directory list in the wrong order: they were inserted in the reverse of the order they were provided in the ``*specs`` list (items later in the list trumped ones earlier in the list). This is now fixed. Note however, that later calls to ``config.add_translation_dirs`` continue to insert directories into the beginning of the list of translation directories created by earlier calls. This means that the same translation found in a directory added via ``add_translation_dirs`` later in the configuration process will be found before one added earlier via a separate call to ``add_translation_dirs`` in the configuration process.
2011-06-21Fixed a bw-compat issue with PyramidTemplate being moved.Michael Merickel
2011-06-21avoid some getattrsChris McDonough
2011-06-21- The pyramid Router attempted to set a value into the keyChris McDonough
``environ['repoze.bfg.message']`` when it caught a view-related exception for backwards compatibility with :mod:`repoze.bfg` during error handling. It did this by using code that looked like so:: # "why" is an exception object try: msg = why[0] except: msg = '' environ['repoze.bfg.message'] = msg Use of the value ``environ['repoze.bfg.message']`` was docs-deprecated in Pyramid 1.0. Our standing policy is to not remove features after a deprecation for two full major releases, so this code was originally slated to be removed in Pyramid 1.2. However, computing the ``repoze.bfg.message`` value was the source of at least one bug found in the wild (https://github.com/Pylons/pyramid/issues/199), and there isn't a foolproof way to both preserve backwards compatibility and to fix the bug. Therefore, the code which sets the value has been removed in this release. Code in exception views which relies on this value's presence in the environment should now use the ``exception`` attribute of the request (e.g. ``request.exception[0]``) to retrieve the message instead of relying on ``request.environ['repoze.bfg.message']``. Closes #199.
2011-06-20responsecode -> exception_responseChris McDonough
2011-06-20- Register the default exception view for context ofChris McDonough
webob.exc.WSGIHTTPException (convenience). - Use ``exc.message`` in docs rather than ``exc.args[0]`` now that we control this.
2011-06-19- Copy exception templates from webob.exc into pyramid.httpexceptions andChris McDonough
ensure they all work.
2011-06-19failUnless -> assertTrue to appease the unittest naming nazisChris McDonough
2011-06-19coverageChris McDonough
2011-06-19- Base exception response content type again on accept header.Chris McDonough
- The ``pyramid.httpexceptions`` classes named ``HTTPFound``, ``HTTPMultipleChoices``, ``HTTPMovedPermanently``, ``HTTPSeeOther``, ``HTTPUseProxy``, and ``HTTPTemporaryRedirect`` now accept ``location`` as their first positional argument rather than ``detail``. This means that you can do, e.g. ``return pyramid.httpexceptions.HTTPFound('http://foo')`` rather than ``return pyramid.httpexceptions.HTTPFound(location='http//foo')`` (the latter will of course continue to work).
2011-06-19format deprecating warnings properlyChris McDonough
2011-06-14merge httpexception-utils branchChris McDonough
2011-06-14- Move default app_iter generation logic into __call__ forChris McDonough
exception responses. - Add note about why we've created a shadow exception hierarchy parallel to that of webob.exc.
2011-06-14- New method named ``pyramid.request.Request.is_response``. This methodChris McDonough
should be used instead of the ``pyramid.view.is_response`` function, which has been deprecated. - Deprecated ``pyramid.view.is_response`` function in favor of (newly-added) ``pyramid.request.Request.is_response`` method. Determining if an object is truly a valid response object now requires access to the registry, which is only easily available as a request attribute. The ``pyramid.view.is_response`` function will still work until it is removed, but now may return an incorrect answer under some (very uncommon) circumstances.
2011-06-14- Added new add_response_adapter method to Configurator.Chris McDonough
- Fix Configurator docstring wrt exception responses. - Speed up registry.queryAdapterOrSelf
2011-06-13render nicer docsChris McDonough
2011-06-13flesh out IResponse interfaceChris McDonough
2011-06-13name argument makes no sense hereChris McDonough
2011-06-13- Remove IResponder abstraction in favor of more general IResponseChris McDonough
abstraction. - It is now possible to return an arbitrary object from a Pyramid view callable even if a renderer is not used, as long as a suitable adapter to ``pyramid.interfaces.IResponse`` is registered for the type of the returned object. See the section in the Hooks chapter of the documentation entitled "Changing How Pyramid Treats View Responses". - The Pyramid router now, by default, expects response objects returned from view callables to implement the ``pyramid.interfaces.IResponse`` interface. Unlike the Pyramid 1.0 version of this interface, objects which implement IResponse now must define a ``__call__`` method that accepts ``environ`` and ``start_response``, and which returns an ``app_iter`` iterable, among other things. Previously, it was possible to return any object which had the three WebOb ``app_iter``, ``headerlist``, and ``status`` attributes as a response, so this is a backwards incompatibility. It is possible to get backwards compatibility back by registering an adapter to IResponse from the type of object you're now returning from view callables. See the section in the Hooks chapter of the documentation entitled "Changing How Pyramid Treats View Responses". - The ``pyramid.interfaces.IResponse`` interface is now much more extensive. Previously it defined only ``app_iter``, ``status`` and ``headerlist``; now it is basically intended to directly mirror the ``webob.Response`` API, which has many methods and attributes. - Documentation changes to support above.
2011-06-11- Pyramid now expects Response objects to have a __call__Chris McDonough
method which implements the WSGI application interface instead of the three webob attrs status, headerlist and app_iter. Backwards compatibility exists for code which returns response objects that do not have a __call__. - pyramid.response.Response is no longer an exception (and therefore cannot be raised in order to generate a response). - Changed my mind about moving stuff from pyramid.httpexceptions to pyramid.response. The stuff I moved over has been moved back to pyramid.httpexceptions.
2011-06-07Merge pull request #207 from wichert/masterChris McDonough
Language fallback support
2011-06-06Merge branch 'master' of github.com:Pylons/pyramidCarlos de la Guardia
2011-06-06Add support for language fallback.Wichert Akkerman
2011-06-05Allow empty zodb_uri in the ZODB+traversal scaffoldPatricio Paez
2011-06-04- It is now possible to control how the Pyramid router calls the WSGIChris McDonough
``start_response`` callable and obtains the WSGI ``app_iter`` based on adapting the response object to the new ``pyramid.interfaces.IResponder`` interface. The default ``IResponder`` uses Pyramid 1.0's logic to do this. To override the responder:: from pyramid.interfaces import IResponder from pyramid.response import Response from myapp import MyResponder config.registry.registerAdapter(MyResponder, (Response,), IResponder, name='') This makes it possible to reuse response object implementations which have, for example, their own ``__call__`` expected to be used as a WSGI application (like ``pyramid.response.Response``), e.g.: class MyResponder(object): def __init__(self, response): """ Obtain a reference to the response """ self.response = response def __call__(self, request, start_response): """ Call start_response and return an app_iter """ app_iter = self.response(request.environ, start_response) return app_iter
2011-06-02Edited pyramid/settings.py via GitHubBruno Binet
2011-05-31the canonical import location for HTTP exceptions/responses is now ↵Chris McDonough
pyramid.response
2011-05-30Merge pull request #198 from mmerickel/fix_wildcard_dispatchChris McDonough
Fixed a bug in dispatch matching * at the end of a route.
2011-05-30- Fix older CHANGES entries.Chris McDonough
- The ``pyramid.request.Request`` class now has a ``ResponseClass`` interface which points at ``pyramid.response.Response``. - The ``pyramid.request.Response`` class now has a ``RequestClass`` interface which points at ``pyramid.response.Request``. - ``pyramid.response.Response`` is now a *subclass* of ``webob.response.Response``. It also inherits from the built-in Python ``Exception`` class and implements the ``pyramid.interfaces.IExceptionResponse`` class so it can be raised as an exception from view code.
2011-05-30Removed a pdb trace. Oops!Michael Merickel
2011-05-30Fixed a bug in dispatch matching * at the end of a route.Michael Merickel
If there was another * in the pattern the check would fail, causing the final wildcard to be ignored.
2011-05-29docs fixesChris McDonough
2011-05-29docs fixesChris McDonough
2011-05-29remove unused commentsChris McDonough
2011-05-29back up to complete coverageChris McDonough
2011-05-29add some tests for WSGIHTTPExceptionChris McDonough
2011-05-29change docs; simplifyChris McDonough
2011-05-29preemptively drop 2.4 supportChris McDonough
2011-05-28move is_response back to pyramid.viewChris McDonough