summaryrefslogtreecommitdiff
path: root/pyramid
AgeCommit message (Collapse)Author
2011-07-10slightly more informative error messageChris McDonough
2011-07-10add info to changes.txt and whatsnew about pshell changes; removed unused ↵Chris McDonough
import and unwrap string
2011-07-10Merge branch 'feature.pshell' of https://github.com/mmerickel/pyramid into ↵Chris McDonough
mmerickel-feature.pshell
2011-07-10reverse position of custom decorator and http cache decoratorChris McDonough
2011-07-09add prevent_auto flag to cache controlChris McDonough
2011-07-09add prevent_auto flag to cache controlChris McDonough
2011-07-09prevent an extra function call when a renderer is in useChris McDonough
2011-07-09request.json -> request.json_body; add some docs for json_bodyChris McDonough
2011-07-09Merge branch 'responsewrapping'Chris McDonough
2011-07-09massive test rejiggering to account for the addition of response_resolved_viewChris McDonough
2011-07-09rename wrapper for better results in profile outputChris McDonough
2011-07-07fwd compat for webob 1.1Chris McDonough
2011-07-07more testsChris McDonough
2011-07-07fix a few tests broken by refactoringChris McDonough
2011-07-06typoChris McDonough
2011-07-06- The ``config.scan`` method has grown a ``**kw`` argument. ``kw`` argumentChris McDonough
represents a set of keyword arguments to pass to the Venusian ``Scanner`` object created by Pyramid. (See the Venusian documentation for more information about ``Scanner``).
2011-07-06Added tests for the new pshell.Michael Merickel
2011-07-06Replaced the manual parsing with python's ConfigParser.Michael Merickel
2011-07-06Fixed a small bug in pviews initialization.Michael Merickel
2011-07-06Updated paster tests to use the ini_file#section syntax.Michael Merickel
2011-07-06Added [pshell] support to INI files and the ability to load generic wsgi apps.Michael Merickel
Generic WSGI apps can now be loaded without exposing the 'registry' and 'root' objects. When an app is loaded, extra variables will be exposed to the environment from a special [pshell] section of the INI file. These variables are of the format "name = asset.path.to.object".
2011-07-06Updated paster commands to use the ini#section uri spec.Michael Merickel
2011-07-04better working for renderer param of add_viewMichr
2011-07-04- New request attribute: ``json``. If the request's ``content_type`` isChris McDonough
``application/json``, this attribute will contain the JSON-decoded variant of the request body. If the request's ``content_type`` is not ``application/json``, this attribute will be ``None``.
2011-07-04partial conversion to eager response resolvingChris McDonough
2011-07-04- A new value ``http_cache`` can be used as a view configurationChris McDonough
parameter. When you supply an ``http_cache`` value to a view configuration, the ``Expires`` and ``Cache-Control`` headers of a response generated by the associated view callable are modified. The value for ``http_cache`` may be one of the following: - A nonzero integer. If it's a nonzero integer, it's treated as a number of seconds. This number of seconds will be used to compute the ``Expires`` header and the ``Cache-Control: max-age`` parameter of responses to requests which call this view. For example: ``http_cache=3600`` instructs the requesting browser to 'cache this response for an hour, please'. - A ``datetime.timedelta`` instance. If it's a ``datetime.timedelta`` instance, it will be converted into a number of seconds, and that number of seconds will be used to compute the ``Expires`` header and the ``Cache-Control: max-age`` parameter of responses to requests which call this view. For example: ``http_cache=datetime.timedelta(days=1)`` instructs the requesting browser to 'cache this response for a day, please'. - Zero (``0``). If the value is zero, the ``Cache-Control`` and ``Expires`` headers present in all responses from this view will be composed such that client browser cache (and any intermediate caches) are instructed to never cache the response. - A two-tuple. If it's a two tuple (e.g. ``http_cache=(1, {'public':True})``), the first value in the tuple may be a nonzero integer or a ``datetime.timedelta`` instance; in either case this value will be used as the number of seconds to cache the response. The second value in the tuple must be a dictionary. The values present in the dictionary will be used as input to the ``Cache-Control`` response header. For example: ``http_cache=(3600, {'public':True})`` means 'cache for an hour, and add ``public`` to the Cache-Control header of the response'. All keys and values supported by the ``webob.cachecontrol.CacheControl`` interface may be added to the dictionary. Supplying ``{'public':True}`` is equivalent to calling ``response.cache_control.public = True``. Providing a non-tuple value as ``http_cache`` is equivalent to calling ``response.cache_expires(value)`` within your view's body. Providing a two-tuple value as ``http_cache`` is equivalent to calling ``response.cache_expires(value[0], **value[1])`` within your view's body. If you wish to avoid influencing, the ``Expires`` header, and instead wish to only influence ``Cache-Control`` headers, pass a tuple as ``http_cache`` with the first element of ``None``, e.g.: ``(None, {'public':True})``.
2011-07-02intentChris McDonough
2011-07-01- The ``pyramid.events.subscriber`` directive behaved contrary to theChris McDonough
documentation when passed more than one interface object to its constructor. For example, when the following listener was registered:: @subscriber(IFoo, IBar) def expects_ifoo_events_and_ibar_events(event): print event The Events chapter docs claimed that the listener would be registered and listening for both ``IFoo`` and ``IBar`` events. Instead, it registered an "object event" subscriber which would only be called if an IObjectEvent was emitted where the object interface was ``IFoo`` and the event interface was ``IBar``. The behavior now matches the documentation. If you were relying on the buggy behavior of the 1.0 ``subscriber`` directive in order to register an object event subscriber, you must now pass a sequence to indicate you'd like to register a subscriber for an object event. e.g.: @subscriber([IFoo, IBar]) def expects_object_event(object, event): print object, event
2011-07-01- Deprecated the ``set_renderer_globals_factory`` method of the ConfiguratorChris McDonough
and the ``renderer_globals`` Configurator constructor parameter.
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).