Michael Merickel
2017-06-11 06c28384c1217e054f530df511b434ff543e3132
Merge pull request #3082 from stevepiercy/master

Update docs to synch with cookiecutter updates
80 files modified
265 ■■■■ changed files
docs/narr/myproject/setup.py 1 ●●●● patch | view | raw | blame | history
docs/narr/testing.rst 12 ●●●●● patch | view | raw | blame | history
docs/quick_tour.rst 20 ●●●●● patch | view | raw | blame | history
docs/quick_tour/logging/setup.py 1 ●●●● patch | view | raw | blame | history
docs/quick_tour/package/setup.py 1 ●●●● patch | view | raw | blame | history
docs/quick_tour/sessions/setup.py 1 ●●●● patch | view | raw | blame | history
docs/quick_tour/sqla_demo/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/quick_tour/sqla_demo/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/quick_tour/sqla_demo/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/quick_tour/sqla_demo/sqla_demo/models/__init__.py 4 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki/authorization.rst 8 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki/basiclayout.rst 12 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/definingviews.rst 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/installation.rst 4 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/authorization/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/authorization/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/authorization/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/authorization/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/basiclayout/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/basiclayout/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/basiclayout/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/basiclayout/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/installation/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/installation/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/installation/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/installation/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/installation/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/models/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/models/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/models/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/models/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/models/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/tests/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/tests/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/tests/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/tests/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/views/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/views/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/views/setup.py 4 ●●● patch | view | raw | blame | history
docs/tutorials/wiki/src/views/tutorial/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/authentication.rst 4 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/definingmodels.rst 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/installation.rst 4 ●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authentication/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authentication/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authentication/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authentication/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authorization/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authorization/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authorization/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authorization/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/basiclayout/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/basiclayout/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/basiclayout/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/basiclayout/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/installation/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/installation/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/installation/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/installation/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/tutorial/__init__.py 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/models/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/tests/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/tests/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/tests/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/tests/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/README.txt 2 ●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/development.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/production.ini 2 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/setup.py 6 ●●●●● patch | view | raw | blame | history
docs/tutorials/wiki2/src/views/tutorial/models/__init__.py 3 ●●●●● patch | view | raw | blame | history
docs/narr/myproject/setup.py
@@ -9,6 +9,7 @@
    CHANGES = f.read()
requires = [
    'plaster_pastedeploy',
    'pyramid',
    'pyramid_jinja2',
    'pyramid_debugtoolbar',
docs/narr/testing.rst
@@ -376,18 +376,16 @@
.. literalinclude:: myproject/setup.py
    :language: python
    :linenos:
    :lines: 11-22
    :lineno-start: 11
    :emphasize-lines: 8-
    :lines: 11-23
    :lineno-match:
    :emphasize-lines: 9-
Remember to change the dependency.
.. literalinclude:: myproject/setup.py
    :language: python
    :linenos:
    :lines: 40-44
    :lineno-start: 40
    :lines: 42-46
    :lineno-match:
    :emphasize-lines: 2-4
As always, whenever you change your dependencies, make sure to run the correct
docs/quick_tour.rst
@@ -647,8 +647,8 @@
.. literalinclude:: quick_tour/package/setup.py
    :language: python
    :lineno-match:
    :lines: 11-16
    :emphasize-lines: 4
    :lines: 11-17
    :emphasize-lines: 5
It was installed when you previously ran:
@@ -657,14 +657,7 @@
    $ $VENV/bin/pip install -e ".[testing]"
The ``pyramid_debugtoolbar`` package is a Pyramid add-on, which means we need
to include its configuration into our web application. The cookiecutter already took care of this for us in its ``__init__.py``:
.. literalinclude:: quick_tour/package/hello_world/__init__.py
    :language: python
    :lineno-match:
    :lines: 8
And it uses the ``pyramid.includes`` facility in our ``development.ini``:
to include its configuration into our web application. The cookiecutter already took care of this for us in its ``development.ini`` using the ``pyramid.includes`` facility:
.. literalinclude:: quick_tour/package/development.ini
    :language: ini
@@ -692,18 +685,17 @@
Our ``pyramid-cookiecutter-starter`` cookiecutter generated a ``tests.py`` module with
one unit test and one functional test in it. It also configured ``setup.py`` with test requirements:
``py.test`` as the test runner, ``WebTest`` for running view tests, and the
``pytest-cov`` tool which yells at us for code that isn't tested. The
highlighted lines show this:
``pytest-cov`` tool which yells at us for code that isn't tested:
.. literalinclude:: quick_tour/package/setup.py
    :language: python
    :lineno-match:
    :lines: 18-22
    :lines: 19-23
.. literalinclude:: quick_tour/package/setup.py
    :language: python
    :lineno-match:
    :lines: 42-44
    :lines: 43-45
We already installed the test requirements when we ran the command ``$VENV/bin/pip install -e ".[testing]"``. We can now run all our tests:
docs/quick_tour/logging/setup.py
@@ -9,6 +9,7 @@
    CHANGES = f.read()
requires = [
    'plaster_pastedeploy',
    'pyramid',
    'pyramid_jinja2',
    'pyramid_debugtoolbar',
docs/quick_tour/package/setup.py
@@ -9,6 +9,7 @@
    CHANGES = f.read()
requires = [
    'plaster_pastedeploy',
    'pyramid',
    'pyramid_jinja2',
    'pyramid_debugtoolbar',
docs/quick_tour/sessions/setup.py
@@ -9,6 +9,7 @@
    CHANGES = f.read()
requires = [
    'plaster_pastedeploy',
    'pyramid',
    'pyramid_jinja2',
    'pyramid_debugtoolbar',
docs/quick_tour/sqla_demo/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/sqla_demo.sqlite
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/quick_tour/sqla_demo/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/sqla_demo.sqlite
retry.attempts = 3
###
# wsgi server configuration
###
docs/quick_tour/sqla_demo/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/quick_tour/sqla_demo/sqla_demo/models/__init__.py
@@ -58,9 +58,13 @@
    """
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki/authorization.rst
@@ -49,7 +49,7 @@
.. literalinclude:: src/authorization/setup.py
   :linenos:
   :emphasize-lines: 21
   :emphasize-lines: 23
   :language: python
Only the highlighted line needs to be added.
@@ -155,9 +155,9 @@
Now add those policies to the configuration:
.. literalinclude:: src/authorization/tutorial/__init__.py
   :lines: 18-23
   :lines: 18-25
   :lineno-match:
   :emphasize-lines: 1-3,5-6
   :emphasize-lines: 1-3,7-8
   :language: python
Only the highlighted lines need to be added.
@@ -327,7 +327,7 @@
.. literalinclude:: src/authorization/tutorial/__init__.py
   :linenos:
   :emphasize-lines: 4-5,8,18-20,22-23
   :emphasize-lines: 4-5,8,18-20,24-25
   :language: python
Only the highlighted lines need to be added or edited.
docs/tutorials/wiki/basiclayout.rst
@@ -41,14 +41,18 @@
   factory and the settings keywords parsed by :term:`PasteDeploy`.  The root
   factory is named ``root_factory``.
#. *Line 15*.  Include support for the :term:`Chameleon` template rendering
#. *Lines 15 and 16*.  Get the settings and use an explicit transaction transaction manager for apps so that they do not implicitly create new transactions when touching the manager outside of the ``pyramid_tm`` lifecycle.
#. *Line 17*.  Include support for the :term:`Chameleon` template rendering
   bindings, allowing us to use the ``.pt`` templates.
#. *Line 16*.  Include support for ``pyramid_tm``, allowing Pyramid requests to join the active transaction as provided by the `transaction <https://pypi.python.org/pypi/transaction>`_ package.
#. *Line 18*.  Include support for ``pyramid_tm``, allowing Pyramid requests to join the active transaction as provided by the `transaction <https://pypi.python.org/pypi/transaction>`_ package.
#. *Line 17*.  Include support for ``pyramid_zodbconn``, providing integration between :term:`ZODB` and a Pyramid application.
#. *Line 19*.  Include support for ``pyramid_retry`` to retry a request when transient exceptions occur.
#. *Line 18*.  Register a "static view", which answers requests whose URL
#. *Line 20*.  Include support for ``pyramid_zodbconn``, providing integration between :term:`ZODB` and a Pyramid application.
#. *Line 21*.  Register a "static view", which answers requests whose URL
   paths start with ``/static``, using the
   :meth:`pyramid.config.Configurator.add_static_view` method.  This
   statement registers a view that will serve up static assets, such as CSS
docs/tutorials/wiki/definingviews.rst
@@ -47,7 +47,7 @@
.. literalinclude:: src/views/setup.py
   :linenos:
   :emphasize-lines: 20
   :emphasize-lines: 22
   :language: python
Only the highlighted line needs to be added.
docs/tutorials/wiki/installation.rst
@@ -180,12 +180,12 @@
.. literalinclude:: src/installation/setup.py
    :language: python
    :lineno-match:
    :lines: 22-26
    :lines: 24-28
.. literalinclude:: src/installation/setup.py
    :language: python
    :lineno-match:
    :lines: 46-48
    :lines: 48-50
.. _running_tests:
docs/tutorials/wiki/src/authorization/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/authorization/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/authorization/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/authorization/tutorial/__init__.py
@@ -19,10 +19,13 @@
        'sosecret', callback=groupfinder, hashalg='sha512')
    authz_policy = ACLAuthorizationPolicy()
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.set_authentication_policy(authn_policy)
    config.set_authorization_policy(authz_policy)
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki/src/basiclayout/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki/src/basiclayout/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/basiclayout/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/basiclayout/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
@@ -12,8 +12,11 @@
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki/src/installation/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki/src/installation/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/installation/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/installation/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/installation/tutorial/__init__.py
@@ -12,8 +12,11 @@
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki/src/models/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki/src/models/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/models/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/models/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/models/tutorial/__init__.py
@@ -12,8 +12,11 @@
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki/src/tests/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/tests/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/tests/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/tests/tutorial/__init__.py
@@ -19,10 +19,13 @@
        'sosecret', callback=groupfinder, hashalg='sha512')
    authz_policy = ACLAuthorizationPolicy()
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.set_authentication_policy(authn_policy)
    config.set_authorization_policy(authz_policy)
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki/src/views/development.ini
@@ -16,6 +16,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki/src/views/production.ini
@@ -14,6 +14,8 @@
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki/src/views/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_chameleon',
    'pyramid_debugtoolbar',
    'pyramid_retry',
    'pyramid_tm',
    'pyramid_zodbconn',
    'transaction',
docs/tutorials/wiki/src/views/tutorial/__init__.py
@@ -12,8 +12,11 @@
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(root_factory=root_factory, settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.include('pyramid_chameleon')
    config.include('pyramid_tm')
    config.include('pyramid_retry')
    config.include('pyramid_zodbconn')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.scan()
docs/tutorials/wiki2/authentication.rst
@@ -92,7 +92,7 @@
the file ``development.ini`` and add the highlighted line below:
.. literalinclude:: src/authentication/development.ini
   :lines: 17-19
   :lines: 19-21
   :emphasize-lines: 3
   :lineno-match:
   :language: ini
@@ -101,7 +101,7 @@
open ``production.ini`` and add a different secret:
.. literalinclude:: src/authentication/production.ini
   :lines: 15-17
   :lines: 17-19
   :emphasize-lines: 3
   :lineno-match:
   :language: ini
docs/tutorials/wiki2/definingmodels.rst
@@ -153,7 +153,7 @@
.. literalinclude:: src/models/tutorial/models/__init__.py
   :linenos:
   :language: py
   :emphasize-lines: 10,11
   :emphasize-lines: 8,9
Here we align our imports with the names of the models, ``Page`` and ``User``.
docs/tutorials/wiki2/installation.rst
@@ -190,12 +190,12 @@
.. literalinclude:: src/installation/setup.py
   :language: python
   :lineno-match:
   :lines: 22-26
   :lines: 24-28
.. literalinclude:: src/installation/setup.py
   :language: python
   :lineno-match:
   :lines: 46-48
   :lines: 48-50
.. _sql_running_tests:
docs/tutorials/wiki2/src/authentication/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/authentication/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
docs/tutorials/wiki2/src/authentication/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = real-seekrit
###
docs/tutorials/wiki2/src/authentication/setup.py
@@ -11,9 +11,11 @@
requires = [
    'bcrypt',
    'docutils',
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py
@@ -63,6 +63,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/authorization/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/authorization/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
docs/tutorials/wiki2/src/authorization/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = real-seekrit
###
docs/tutorials/wiki2/src/authorization/setup.py
@@ -11,9 +11,11 @@
requires = [
    'bcrypt',
    'docutils',
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py
@@ -63,6 +63,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/basiclayout/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/basiclayout/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki2/src/basiclayout/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki2/src/basiclayout/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py
@@ -62,6 +62,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/installation/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/installation/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki2/src/installation/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki2/src/installation/setup.py
@@ -9,9 +9,11 @@
    CHANGES = f.read()
requires = [
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py
@@ -62,6 +62,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/models/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/models/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki2/src/models/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki2/src/models/setup.py
@@ -10,9 +10,11 @@
requires = [
    'bcrypt',
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/models/tutorial/__init__.py
@@ -5,8 +5,6 @@
    """ This function returns a Pyramid WSGI application.
    """
    config = Configurator(settings=settings)
    settings = config.get_settings()
    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
    config.include('pyramid_jinja2')
    config.include('.models')
    config.include('.routes')
docs/tutorials/wiki2/src/models/tutorial/models/__init__.py
@@ -63,6 +63,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/tests/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/tests/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
docs/tutorials/wiki2/src/tests/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
auth.secret = real-seekrit
###
docs/tutorials/wiki2/src/tests/setup.py
@@ -11,9 +11,11 @@
requires = [
    'bcrypt',
    'docutils',
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py
@@ -63,6 +63,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory
docs/tutorials/wiki2/src/views/README.txt
@@ -14,7 +14,7 @@
- Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools wheel
    env/bin/pip install --upgrade pip setuptools
- Install the project in editable mode with its testing requirements.
docs/tutorials/wiki2/src/views/development.ini
@@ -16,6 +16,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
# By default, the toolbar only appears for clients from IP addresses
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
docs/tutorials/wiki2/src/views/production.ini
@@ -14,6 +14,8 @@
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
###
# wsgi server configuration
###
docs/tutorials/wiki2/src/views/setup.py
@@ -11,9 +11,11 @@
requires = [
    'bcrypt',
    'docutils',
    'pyramid',
    'pyramid_jinja2',
    'plaster_pastedeploy',
    'pyramid >= 1.9a',
    'pyramid_debugtoolbar',
    'pyramid_jinja2',
    'pyramid_retry',
    'pyramid_tm',
    'SQLAlchemy',
    'transaction',
docs/tutorials/wiki2/src/views/tutorial/models/__init__.py
@@ -63,6 +63,9 @@
    # use pyramid_tm to hook the transaction lifecycle to the request
    config.include('pyramid_tm')
    # use pyramid_retry to retry a request when transient exceptions occur
    config.include('pyramid_retry')
    session_factory = get_session_factory(get_engine(settings))
    config.registry['dbsession_factory'] = session_factory