summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2
diff options
context:
space:
mode:
authorSteve Piercy <web@stevepiercy.com>2017-06-10 22:57:54 -0700
committerSteve Piercy <web@stevepiercy.com>2017-06-10 22:57:54 -0700
commit2c0e3e334955574383fa73eaf932931199e13a8a (patch)
tree26b40db96365444fea7182e357040bb200179e99 /docs/tutorials/wiki2
parent909ae055f2f7391036736ff41a0564becb60478f (diff)
downloadpyramid-2c0e3e334955574383fa73eaf932931199e13a8a.tar.gz
pyramid-2c0e3e334955574383fa73eaf932931199e13a8a.tar.bz2
pyramid-2c0e3e334955574383fa73eaf932931199e13a8a.zip
update src files and synch emphasize-lines for alchemy wiki tutorial
Diffstat (limited to 'docs/tutorials/wiki2')
-rw-r--r--docs/tutorials/wiki2/authentication.rst4
-rw-r--r--docs/tutorials/wiki2/definingmodels.rst2
-rw-r--r--docs/tutorials/wiki2/installation.rst4
-rw-r--r--docs/tutorials/wiki2/src/authentication/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/authentication/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/authentication/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/authentication/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/authorization/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/authorization/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/authorization/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/authorization/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/installation/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/installation/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/installation/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/installation/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/models/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/models/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/models/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/models/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/__init__.py2
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/tests/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/tests/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/tests/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/tests/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py3
-rw-r--r--docs/tutorials/wiki2/src/views/README.txt2
-rw-r--r--docs/tutorials/wiki2/src/views/development.ini2
-rw-r--r--docs/tutorials/wiki2/src/views/production.ini2
-rw-r--r--docs/tutorials/wiki2/src/views/setup.py6
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/models/__init__.py3
39 files changed, 89 insertions, 28 deletions
diff --git a/docs/tutorials/wiki2/authentication.rst b/docs/tutorials/wiki2/authentication.rst
index ff59ce70b..85977d1be 100644
--- a/docs/tutorials/wiki2/authentication.rst
+++ b/docs/tutorials/wiki2/authentication.rst
@@ -92,7 +92,7 @@ Our authentication policy is expecting a new setting, ``auth.secret``. Open
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 @@ Finally, best practices tell us to use a different secret for production, so
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
diff --git a/docs/tutorials/wiki2/definingmodels.rst b/docs/tutorials/wiki2/definingmodels.rst
index 801b56eb4..5cebb943c 100644
--- a/docs/tutorials/wiki2/definingmodels.rst
+++ b/docs/tutorials/wiki2/definingmodels.rst
@@ -153,7 +153,7 @@ the following:
.. 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``.
diff --git a/docs/tutorials/wiki2/installation.rst b/docs/tutorials/wiki2/installation.rst
index 56197900c..0d49fc12b 100644
--- a/docs/tutorials/wiki2/installation.rst
+++ b/docs/tutorials/wiki2/installation.rst
@@ -190,12 +190,12 @@ Testing requirements are defined in our project's ``setup.py`` file, in the ``te
.. 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:
diff --git a/docs/tutorials/wiki2/src/authentication/README.txt b/docs/tutorials/wiki2/src/authentication/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/authentication/README.txt
+++ b/docs/tutorials/wiki2/src/authentication/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/authentication/development.ini b/docs/tutorials/wiki2/src/authentication/development.ini
index 0786c1f66..00d0dd2bf 100644
--- a/docs/tutorials/wiki2/src/authentication/development.ini
+++ b/docs/tutorials/wiki2/src/authentication/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
diff --git a/docs/tutorials/wiki2/src/authentication/production.ini b/docs/tutorials/wiki2/src/authentication/production.ini
index 05d60feec..e55e9fecc 100644
--- a/docs/tutorials/wiki2/src/authentication/production.ini
+++ b/docs/tutorials/wiki2/src/authentication/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = real-seekrit
###
diff --git a/docs/tutorials/wiki2/src/authentication/setup.py b/docs/tutorials/wiki2/src/authentication/setup.py
index cc1aa421c..abc24876d 100644
--- a/docs/tutorials/wiki2/src/authentication/setup.py
+++ b/docs/tutorials/wiki2/src/authentication/setup.py
@@ -11,9 +11,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
requires = [
'bcrypt',
'docutils',
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py
index cd8347ccd..3c9ba8e54 100644
--- a/docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/authentication/tutorial/models/__init__.py
@@ -63,6 +63,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/authorization/README.txt b/docs/tutorials/wiki2/src/authorization/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/authorization/README.txt
+++ b/docs/tutorials/wiki2/src/authorization/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/authorization/development.ini b/docs/tutorials/wiki2/src/authorization/development.ini
index 0786c1f66..00d0dd2bf 100644
--- a/docs/tutorials/wiki2/src/authorization/development.ini
+++ b/docs/tutorials/wiki2/src/authorization/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
diff --git a/docs/tutorials/wiki2/src/authorization/production.ini b/docs/tutorials/wiki2/src/authorization/production.ini
index 05d60feec..e55e9fecc 100644
--- a/docs/tutorials/wiki2/src/authorization/production.ini
+++ b/docs/tutorials/wiki2/src/authorization/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = real-seekrit
###
diff --git a/docs/tutorials/wiki2/src/authorization/setup.py b/docs/tutorials/wiki2/src/authorization/setup.py
index cc1aa421c..abc24876d 100644
--- a/docs/tutorials/wiki2/src/authorization/setup.py
+++ b/docs/tutorials/wiki2/src/authorization/setup.py
@@ -11,9 +11,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
requires = [
'bcrypt',
'docutils',
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py
index cd8347ccd..3c9ba8e54 100644
--- a/docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/authorization/tutorial/models/__init__.py
@@ -63,6 +63,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/basiclayout/README.txt b/docs/tutorials/wiki2/src/basiclayout/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/basiclayout/README.txt
+++ b/docs/tutorials/wiki2/src/basiclayout/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/basiclayout/development.ini b/docs/tutorials/wiki2/src/basiclayout/development.ini
index be80882a5..73ef3d863 100644
--- a/docs/tutorials/wiki2/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
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
diff --git a/docs/tutorials/wiki2/src/basiclayout/production.ini b/docs/tutorials/wiki2/src/basiclayout/production.ini
index c01ad9a7e..8dea38631 100644
--- a/docs/tutorials/wiki2/src/basiclayout/production.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
###
# wsgi server configuration
###
diff --git a/docs/tutorials/wiki2/src/basiclayout/setup.py b/docs/tutorials/wiki2/src/basiclayout/setup.py
index d3992a8f2..9fc5519a5 100644
--- a/docs/tutorials/wiki2/src/basiclayout/setup.py
+++ b/docs/tutorials/wiki2/src/basiclayout/setup.py
@@ -9,9 +9,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
CHANGES = f.read()
requires = [
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py
index ae575691c..d8a273e9e 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/models/__init__.py
@@ -62,6 +62,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/installation/README.txt b/docs/tutorials/wiki2/src/installation/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/installation/README.txt
+++ b/docs/tutorials/wiki2/src/installation/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/installation/development.ini b/docs/tutorials/wiki2/src/installation/development.ini
index be80882a5..73ef3d863 100644
--- a/docs/tutorials/wiki2/src/installation/development.ini
+++ b/docs/tutorials/wiki2/src/installation/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
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
diff --git a/docs/tutorials/wiki2/src/installation/production.ini b/docs/tutorials/wiki2/src/installation/production.ini
index c01ad9a7e..8dea38631 100644
--- a/docs/tutorials/wiki2/src/installation/production.ini
+++ b/docs/tutorials/wiki2/src/installation/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
###
# wsgi server configuration
###
diff --git a/docs/tutorials/wiki2/src/installation/setup.py b/docs/tutorials/wiki2/src/installation/setup.py
index d3992a8f2..9fc5519a5 100644
--- a/docs/tutorials/wiki2/src/installation/setup.py
+++ b/docs/tutorials/wiki2/src/installation/setup.py
@@ -9,9 +9,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
CHANGES = f.read()
requires = [
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py
index ae575691c..d8a273e9e 100644
--- a/docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/installation/tutorial/models/__init__.py
@@ -62,6 +62,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/models/README.txt b/docs/tutorials/wiki2/src/models/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/models/README.txt
+++ b/docs/tutorials/wiki2/src/models/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/models/development.ini b/docs/tutorials/wiki2/src/models/development.ini
index be80882a5..73ef3d863 100644
--- a/docs/tutorials/wiki2/src/models/development.ini
+++ b/docs/tutorials/wiki2/src/models/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
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
diff --git a/docs/tutorials/wiki2/src/models/production.ini b/docs/tutorials/wiki2/src/models/production.ini
index c01ad9a7e..8dea38631 100644
--- a/docs/tutorials/wiki2/src/models/production.ini
+++ b/docs/tutorials/wiki2/src/models/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
###
# wsgi server configuration
###
diff --git a/docs/tutorials/wiki2/src/models/setup.py b/docs/tutorials/wiki2/src/models/setup.py
index faf76aa27..c688c6866 100644
--- a/docs/tutorials/wiki2/src/models/setup.py
+++ b/docs/tutorials/wiki2/src/models/setup.py
@@ -10,9 +10,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
requires = [
'bcrypt',
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/models/tutorial/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/__init__.py
index 7654fc808..4dab44823 100644
--- a/docs/tutorials/wiki2/src/models/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/models/tutorial/__init__.py
@@ -5,8 +5,6 @@ def main(global_config, **settings):
""" 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')
diff --git a/docs/tutorials/wiki2/src/models/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/models/__init__.py
index cd8347ccd..3c9ba8e54 100644
--- a/docs/tutorials/wiki2/src/models/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/models/tutorial/models/__init__.py
@@ -63,6 +63,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/tests/README.txt b/docs/tutorials/wiki2/src/tests/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/tests/README.txt
+++ b/docs/tutorials/wiki2/src/tests/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/tests/development.ini b/docs/tutorials/wiki2/src/tests/development.ini
index 0786c1f66..00d0dd2bf 100644
--- a/docs/tutorials/wiki2/src/tests/development.ini
+++ b/docs/tutorials/wiki2/src/tests/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = seekrit
# By default, the toolbar only appears for clients from IP addresses
diff --git a/docs/tutorials/wiki2/src/tests/production.ini b/docs/tutorials/wiki2/src/tests/production.ini
index 05d60feec..e55e9fecc 100644
--- a/docs/tutorials/wiki2/src/tests/production.ini
+++ b/docs/tutorials/wiki2/src/tests/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
auth.secret = real-seekrit
###
diff --git a/docs/tutorials/wiki2/src/tests/setup.py b/docs/tutorials/wiki2/src/tests/setup.py
index cc1aa421c..abc24876d 100644
--- a/docs/tutorials/wiki2/src/tests/setup.py
+++ b/docs/tutorials/wiki2/src/tests/setup.py
@@ -11,9 +11,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
requires = [
'bcrypt',
'docutils',
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py
index cd8347ccd..3c9ba8e54 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/tests/tutorial/models/__init__.py
@@ -63,6 +63,9 @@ def includeme(config):
# 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
diff --git a/docs/tutorials/wiki2/src/views/README.txt b/docs/tutorials/wiki2/src/views/README.txt
index 81102a869..7b33da610 100644
--- a/docs/tutorials/wiki2/src/views/README.txt
+++ b/docs/tutorials/wiki2/src/views/README.txt
@@ -14,7 +14,7 @@ Getting Started
- 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.
diff --git a/docs/tutorials/wiki2/src/views/development.ini b/docs/tutorials/wiki2/src/views/development.ini
index be80882a5..73ef3d863 100644
--- a/docs/tutorials/wiki2/src/views/development.ini
+++ b/docs/tutorials/wiki2/src/views/development.ini
@@ -16,6 +16,8 @@ pyramid.includes =
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
diff --git a/docs/tutorials/wiki2/src/views/production.ini b/docs/tutorials/wiki2/src/views/production.ini
index c01ad9a7e..8dea38631 100644
--- a/docs/tutorials/wiki2/src/views/production.ini
+++ b/docs/tutorials/wiki2/src/views/production.ini
@@ -14,6 +14,8 @@ pyramid.default_locale_name = en
sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
+retry.attempts = 3
+
###
# wsgi server configuration
###
diff --git a/docs/tutorials/wiki2/src/views/setup.py b/docs/tutorials/wiki2/src/views/setup.py
index cc1aa421c..abc24876d 100644
--- a/docs/tutorials/wiki2/src/views/setup.py
+++ b/docs/tutorials/wiki2/src/views/setup.py
@@ -11,9 +11,11 @@ with open(os.path.join(here, 'CHANGES.txt')) as f:
requires = [
'bcrypt',
'docutils',
- 'pyramid',
- 'pyramid_jinja2',
+ 'plaster_pastedeploy',
+ 'pyramid >= 1.9a',
'pyramid_debugtoolbar',
+ 'pyramid_jinja2',
+ 'pyramid_retry',
'pyramid_tm',
'SQLAlchemy',
'transaction',
diff --git a/docs/tutorials/wiki2/src/views/tutorial/models/__init__.py b/docs/tutorials/wiki2/src/views/tutorial/models/__init__.py
index cd8347ccd..3c9ba8e54 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/models/__init__.py
+++ b/docs/tutorials/wiki2/src/views/tutorial/models/__init__.py
@@ -63,6 +63,9 @@ def includeme(config):
# 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