| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
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.
|
|
|
|
|
|
Also add functional tests to the Wiki2 tutorial, similar to Wiki1.
|
|
|
|
|
|
pyramid.response
|
|
|
|
|
|
|
|
|
|
|
|
- Modify documentation for cross-referencing.
- Use add_view(viewname) syntax rather than add_view(view=viewname)
syntax for normalization.
- Use warnings.warn rather than zope.deprecated in order to make
testing easier.
- Move tests which test deprecated methods of configurator to a
separate test case.
|
|
I was working through the wiki2 tutorial this morning and found some
slightly confusing bits. As I went along, I added the suggested changes
to my local files to make them match the tutorial's version, but found
several times that key parts were missing.
I'm not new to Python so this didn't slow me down, but thought some
clarifications might help new users.
|
|
|
|
|
|
|
|
'Paster templates' will now be refered to as 'scaffolds,' while
'rendered templates' will remain as 'templates.' I have changed
the docs to reflect this change in terminology.
|
|
|
|
Moved the routes tutorial above the traversal tutorial.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
book with older sphinx)
|
|
older version of sphinx which doesnt respect tab-width)
|
|
templates for the benefit of folks who cutnpaste and save to a non-UTF8
format.
|
|
effective logging level of WARN, which prevents e.g. SQLAlchemy statement
logging and other inappropriate output.
- The ``production.ini`` of the ``pyramid_routesalchemy`` and
``pyramid_alchemy`` paster templates did not have a ``sqlalchemy`` logger
section, preventing ``paster serve production.ini`` from working.
- The ``pyramid_routesalchemy`` and ``pyramid_alchemy`` paster templates used
the ``{{package}}`` variable in a place where it should have used the
``{{project}}`` variable, causing applications created with uppercase
letters e.g. ``paster create -t pyramid_routesalchemy Dibbus`` to fail to
start when ``paster serve development.ini`` was used against the result.
See https://github.com/Pylons/pyramid/issues/#issue/107
Closes #107
|
|
|
|
https://github.com/Pylons/pyramid/issues#issue/95
Closes issue #95.
|
|
|
|
|
|
|
|
|
|
|
|
any overly long lines in the PDF rendering.
Changes to .rst files:
(docs/tutorials/wiki/authorization.rst)
(docs/tutorials/wiki/definingviews.rst)
(docs/tutorials/wiki2/authorization.rst)
(docs/tutorials/wiki2/definingviews.rst)
1. For included templates, added :tab-width: 2 options.
2. wiki2/authorization.rst: Wrong markup for file names __init__.py and
views.py just after the subhead "Adding security.py".
Changes to .py files: Folded a few long lines.
(docs/tutorials/wiki/src/basiclayout/tutorial/views.py)
(docs/tutorials/wiki/src/authorization/tutorial/views.py)
(docs/tutorials/wiki/src/views/tutorial/views.py)
(docs/tutorials/wiki2/src/basiclayout/tutorial/models.py)
(docs/tutorials/wiki2/src/models/tutorial/models.py)
Changes to .pt files: Broke long lines; reformatted for 2-space
indentation using tabs.
(docs/tutorials/wiki/src/authorization/tutorial/templates/edit.pt)
(docs/tutorials/wiki/src/authorization/tutorial/templates/login.pt)
(docs/tutorials/wiki/src/authorization/tutorial/templates/view.pt)
(docs/tutorials/wiki/src/views/tutorial/templates/edit.pt)
(docs/tutorials/wiki/src/views/tutorial/templates/view.pt)
(docs/tutorials/wiki2/src/authorization/tutorial/templates/edit.pt)
(docs/tutorials/wiki2/src/authorization/tutorial/templates/login.pt)
(docs/tutorials/wiki2/src/authorization/tutorial/templates/view.pt)
(docs/tutorials/wiki2/src/views/tutorial/templates/edit.pt)
(docs/tutorials/wiki2/src/views/tutorial/templates/view.pt)
|
|
|
|
|
|
--------
- ``pyramid.testing.setUp`` and ``pyramid.testing.tearDown`` have been
undeprecated. They are now the canonical setup and teardown APIs for test
configuration, replacing "direct" creation of a Configurator. This is a
change designed to provide a facade that will protect against any future
Configurator deprecations.
Paster Templates
----------------
- All paster templates now use ``pyramid.testing.setUp`` and
``pyramid.testing.tearDown`` rather than creating a Configurator "by hand"
within their ``tests.py`` module, as per decision in features above.
Documentation
-------------
- The wiki and wiki2 tutorials now use ``pyramid.testing.setUp`` and
``pyramid.testing.tearDown`` rather than creating a Configurator "by hand",
as per decision in features above.
- The "Testing" narrative chapter now explains ``pyramid.testing.setUp`` and
``pyramid.testing.tearDown`` instead of Configurator creation and
``Configurator.begin()`` and ``Configurator.end()``.
|
|
|
|
wiki tutorial
|