From 2aa2175d8f0eedcef59e48f05f66bf1be763dea3 Mon Sep 17 00:00:00 2001
From: Steve Piercy <web@stevepiercy.com>
Date: Fri, 04 Aug 2017 07:45:21 +0200
Subject: [PATCH] update zodb wiki files to synch with its cookiecutter using context manager

---
 docs/tutorials/wiki/src/tests/tutorial/__init__.py         |   24 ++++----
 docs/tutorials/wiki/src/views/tutorial/__init__.py         |   18 +++---
 docs/tutorials/wiki/src/installation/tutorial/__init__.py  |   18 +++---
 docs/tutorials/wiki/authorization.rst                      |    4 
 docs/tutorials/wiki/src/authorization/tutorial/__init__.py |   24 ++++----
 docs/tutorials/wiki/src/models/tutorial/__init__.py        |   18 +++---
 docs/tutorials/wiki/basiclayout.rst                        |   22 +++---
 docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py   |   18 +++---
 8 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/docs/tutorials/wiki/authorization.rst b/docs/tutorials/wiki/authorization.rst
index c9ba9fe..9a83137 100644
--- a/docs/tutorials/wiki/authorization.rst
+++ b/docs/tutorials/wiki/authorization.rst
@@ -157,7 +157,7 @@
 .. literalinclude:: src/authorization/tutorial/__init__.py
    :lines: 18-25
    :lineno-match:
-   :emphasize-lines: 1-3,7-8
+   :emphasize-lines: 2-4,6-7
    :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,24-25
+   :emphasize-lines: 4-5,8,19-21,23-24
    :language: python
 
 Only the highlighted lines need to be added or edited.
diff --git a/docs/tutorials/wiki/basiclayout.rst b/docs/tutorials/wiki/basiclayout.rst
index f713d10..b636308 100644
--- a/docs/tutorials/wiki/basiclayout.rst
+++ b/docs/tutorials/wiki/basiclayout.rst
@@ -37,20 +37,20 @@
 
 #. *Line 11*.  ``__init__.py`` defines a function named ``main``.
 
-#. *Line 14*.  We construct a :term:`Configurator` with a root
-   factory and the settings keywords parsed by :term:`PasteDeploy`.  The root
-   factory is named ``root_factory``.
+#. *Line 14*.  Use an explicit transaction manager for apps so that they do not implicitly create new transactions when touching the manager outside of the ``pyramid_tm`` lifecycle.
 
-#. *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 15*.  Construct a :term:`Configurator` as a :term:`context manager` with the settings keyword parsed by :term:`PasteDeploy`.
 
-#. *Line 17*.  Include support for the :term:`Chameleon` template rendering
+#. *Line 16*.  Include support for the :term:`Chameleon` template rendering
    bindings, allowing us to use the ``.pt`` templates.
 
-#. *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_tm``, allowing Pyramid requests to join the active transaction as provided by the `transaction <https://pypi.python.org/pypi/transaction>`_ package.
 
-#. *Line 19*.  Include support for ``pyramid_retry`` to retry a request when transient exceptions occur.
+#. *Line 18*.  Include support for ``pyramid_retry`` to retry a request when transient exceptions occur.
 
-#. *Line 20*.  Include support for ``pyramid_zodbconn``, providing integration between :term:`ZODB` and a Pyramid application.
+#. *Line 19*.  Include support for ``pyramid_zodbconn``, providing integration between :term:`ZODB` and a Pyramid application.
+
+#. *Line 20*.  Set a root factory using our function named ``root_factory``.
 
 #. *Line 21*.  Register a "static view", which answers requests whose URL
    paths start with ``/static``, using the
@@ -65,7 +65,7 @@
    package.  Alternatively the cookiecutter could have used an *absolute* asset
    specification as the path (``tutorial:static``).
 
-#. *Line 19*.  Perform a :term:`scan`.  A scan will find :term:`configuration
+#. *Line 22*.  Perform a :term:`scan`.  A scan will find :term:`configuration
    decoration`, such as view configuration decorators (e.g., ``@view_config``)
    in the source code of the ``tutorial`` package and will take actions based
    on these decorators.  We don't pass any arguments to
@@ -74,7 +74,7 @@
    The cookiecutter could have equivalently said ``config.scan('tutorial')``, but
    it chose to omit the package name argument.
 
-#. *Line 20*.  Use the
+#. *Line 23*.  Use the
    :meth:`pyramid.config.Configurator.make_wsgi_app` method
    to return a :term:`WSGI` application.
 
@@ -104,7 +104,7 @@
    By default, set these to ``None`` to indicate that this is the
    :term:`root` object.
 
-#. *Lines 8-14*.  ``appmaker`` is used to return the *application
+#. *Lines 8-12*.  ``appmaker`` is used to return the *application
    root* object.  It is called on *every request* to the
    :app:`Pyramid` application.  It also performs bootstrapping by
    *creating* an application root (inside the ZODB root object) if one
diff --git a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
index e584eff..58635ea 100644
--- a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
@@ -15,18 +15,18 @@
 def main(global_config, **settings):
     """ This function returns a Pyramid WSGI application.
     """
+    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
     authn_policy = AuthTktAuthenticationPolicy(
         '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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        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.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
index eb703e0..f2b3c95 100644
--- a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
@@ -11,13 +11,13 @@
 def main(global_config, **settings):
     """ 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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        config.include('pyramid_chameleon')
+        config.include('pyramid_tm')
+        config.include('pyramid_retry')
+        config.include('pyramid_zodbconn')
+        config.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/installation/tutorial/__init__.py b/docs/tutorials/wiki/src/installation/tutorial/__init__.py
index eb703e0..f2b3c95 100644
--- a/docs/tutorials/wiki/src/installation/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/installation/tutorial/__init__.py
@@ -11,13 +11,13 @@
 def main(global_config, **settings):
     """ 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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        config.include('pyramid_chameleon')
+        config.include('pyramid_tm')
+        config.include('pyramid_retry')
+        config.include('pyramid_zodbconn')
+        config.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/models/tutorial/__init__.py b/docs/tutorials/wiki/src/models/tutorial/__init__.py
index eb703e0..f2b3c95 100644
--- a/docs/tutorials/wiki/src/models/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/models/tutorial/__init__.py
@@ -11,13 +11,13 @@
 def main(global_config, **settings):
     """ 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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        config.include('pyramid_chameleon')
+        config.include('pyramid_tm')
+        config.include('pyramid_retry')
+        config.include('pyramid_zodbconn')
+        config.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/tests/tutorial/__init__.py b/docs/tutorials/wiki/src/tests/tutorial/__init__.py
index e584eff..58635ea 100644
--- a/docs/tutorials/wiki/src/tests/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/tests/tutorial/__init__.py
@@ -15,18 +15,18 @@
 def main(global_config, **settings):
     """ This function returns a Pyramid WSGI application.
     """
+    settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
     authn_policy = AuthTktAuthenticationPolicy(
         '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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        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.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/views/tutorial/__init__.py b/docs/tutorials/wiki/src/views/tutorial/__init__.py
index eb703e0..f2b3c95 100644
--- a/docs/tutorials/wiki/src/views/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/views/tutorial/__init__.py
@@ -11,13 +11,13 @@
 def main(global_config, **settings):
     """ 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()
-    return config.make_wsgi_app()
+    with Configurator(settings=settings) as config:
+        config.include('pyramid_chameleon')
+        config.include('pyramid_tm')
+        config.include('pyramid_retry')
+        config.include('pyramid_zodbconn')
+        config.set_root_factory(root_factory)
+        config.add_static_view('static', 'static', cache_max_age=3600)
+        config.scan()
+        return config.make_wsgi_app()

--
Gitblit v1.9.3