summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-08-14 22:44:22 -0400
committerChris McDonough <chrism@plope.com>2011-08-14 22:44:22 -0400
commitb2533554bb8816d412615595f4d7947f7779bf47 (patch)
treecc3b4629ae97d5119311665a7bebc63532fa0ed1 /docs/tutorials/wiki
parent27443561a9b837684af726b1aec2b5a98b22d494 (diff)
downloadpyramid-b2533554bb8816d412615595f4d7947f7779bf47.tar.gz
pyramid-b2533554bb8816d412615595f4d7947f7779bf47.tar.bz2
pyramid-b2533554bb8816d412615595f4d7947f7779bf47.zip
- The ZODB wiki tutorial now uses the ``pyramid_zodbconn`` package rather
than the ``repoze.zodbconn`` package to provide ZODB integration. - The ZODB scaffold now uses the ``pyramid_zodbconn`` package rather than the ``repoze.zodbconn`` package to provide ZODB integration.
Diffstat (limited to 'docs/tutorials/wiki')
-rw-r--r--docs/tutorials/wiki/authorization.rst2
-rw-r--r--docs/tutorials/wiki/basiclayout.rst40
-rw-r--r--docs/tutorials/wiki/definingmodels.rst6
-rw-r--r--docs/tutorials/wiki/installation.rst10
-rw-r--r--docs/tutorials/wiki/src/authorization/development.ini5
-rw-r--r--docs/tutorials/wiki/src/authorization/production.ini5
-rw-r--r--docs/tutorials/wiki/src/authorization/setup.py2
-rw-r--r--docs/tutorials/wiki/src/authorization/tutorial/__init__.py17
-rw-r--r--docs/tutorials/wiki/src/basiclayout/development.ini5
-rw-r--r--docs/tutorials/wiki/src/basiclayout/production.ini5
-rw-r--r--docs/tutorials/wiki/src/basiclayout/setup.py2
-rw-r--r--docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py15
-rw-r--r--docs/tutorials/wiki/src/models/development.ini5
-rw-r--r--docs/tutorials/wiki/src/models/production.ini5
-rw-r--r--docs/tutorials/wiki/src/models/setup.py2
-rw-r--r--docs/tutorials/wiki/src/models/tutorial/__init__.py15
-rw-r--r--docs/tutorials/wiki/src/tests/development.ini5
-rw-r--r--docs/tutorials/wiki/src/tests/production.ini5
-rw-r--r--docs/tutorials/wiki/src/tests/setup.py2
-rw-r--r--docs/tutorials/wiki/src/tests/tutorial/__init__.py17
-rw-r--r--docs/tutorials/wiki/src/tests/tutorial/tests.py10
-rw-r--r--docs/tutorials/wiki/src/views/development.ini5
-rw-r--r--docs/tutorials/wiki/src/views/production.ini5
-rw-r--r--docs/tutorials/wiki/src/views/setup.py2
-rw-r--r--docs/tutorials/wiki/src/views/tutorial/__init__.py15
25 files changed, 80 insertions, 127 deletions
diff --git a/docs/tutorials/wiki/authorization.rst b/docs/tutorials/wiki/authorization.rst
index 46c953f6d..1835ce7ea 100644
--- a/docs/tutorials/wiki/authorization.rst
+++ b/docs/tutorials/wiki/authorization.rst
@@ -42,7 +42,7 @@ declarative security checking. We need to import the new policies:
Then, we'll add those policies to the configuration:
.. literalinclude:: src/authorization/tutorial/__init__.py
- :lines: 16-18,26-28
+ :lines: 20-25
:linenos:
:language: python
diff --git a/docs/tutorials/wiki/basiclayout.rst b/docs/tutorials/wiki/basiclayout.rst
index 1aebaffd7..726f32545 100644
--- a/docs/tutorials/wiki/basiclayout.rst
+++ b/docs/tutorials/wiki/basiclayout.rst
@@ -31,23 +31,13 @@ point happens to be the ``main`` function within the file named
#. *Lines 1-3*. Perform some dependency imports.
-#. *Line 8*. Get the ZODB configuration from the ``development.ini``
- file's ``[app:main]`` section represented by the ``settings``
- dictionary passed to our ``app`` function. This will be a URI
- (something like ``file:///path/to/Data.fs``).
+#. *Lines 5-7* Define a root factory for our Pyramid application.
-#. *Line 12*. We create a "finder" object using the
- ``PersistentApplicationFinder`` helper class, passing it the ZODB
- URI and the "appmaker" we've imported from ``models.py``.
-
-#. *Lines 13 - 14*. We create a :term:`root factory` which uses the
- finder to return a ZODB root object.
-
-#. *Line 15*. We construct a :term:`Configurator` with a :term:`root
+#. *Line 12*. We construct a :term:`Configurator` with a :term:`root
factory` and the settings keywords parsed by PasteDeploy. The root
factory is named ``get_root``.
-#. *Line 16*. Register a 'static view' which answers requests which start
+#. *Line 13*. Register a 'static view' which answers requests which start
with with URL path ``/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
@@ -59,14 +49,14 @@ point happens to be the ``main`` function within the file named
should serve within the ``static`` directory inside the ``tutorial``
package.
-#. *Line 17*. Perform a :term:`scan`. A scan will find :term:`configuration
+#. *Line 14*. 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. The argument to
:meth:`~pyramid.config.Configurator.scan` is the package name to scan,
which is ``tutorial``.
-#. *Line 18*. Use the
+#. *Line 15*. Use the
:meth:`pyramid.config.Configurator.make_wsgi_app` method
to return a :term:`WSGI` application.
@@ -100,7 +90,8 @@ Here is the source for ``models.py``:
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
- does not already exist.
+ does not already exist. It is used by the "root_factory" we've defined
+ in our ``__init__.py``.
We do so by first seeing if the database has the persistent
application root. If not, we make an instance, store it, and
@@ -162,8 +153,8 @@ Let's try to understand the components in this module:
dictionary is used by the template named by the ``mytemplate.pt`` asset
specification to fill in certain values on the page.
-The WSGI Pipeline in ``development.ini``
-----------------------------------------
+Configuration in ``development.ini``
+------------------------------------
The ``development.ini`` (in the tutorial :term:`project` directory, as
opposed to the tutorial :term:`package` directory) looks like this:
@@ -171,19 +162,14 @@ opposed to the tutorial :term:`package` directory) looks like this:
.. literalinclude:: src/views/development.ini
:language: ini
-
Note the existence of a ``[pipeline:main]`` section which specifies our WSGI
pipeline. This "pipeline" will be served up as our WSGI application. As far
-as the WSGI server is concerned the pipeline *is* our application. Simpler
-configurations don't use a pipeline: instead they expose a single WSGI
-application as "main". Our setup is more complicated, so we use a pipeline
-composed of :term:`middleware`.
+as the WSGI server is concerned the pipeline *is* our application.
-The ``egg:repoze.zodbconn#closer`` middleware is at the top of the pipeline.
-This is a piece of middleware which closes the ZODB connection opened by the
-``PersistentApplicationFinder`` at the end of the request.
+Our ZODB database settings are specified as the ``zodbconn.uri`` setting in
+the application section.
-The final line in the ``[pipeline:main]`` section is ``tutorial``, which
+The only line in the ``[pipeline:main]`` section is ``tutorial``, which
refers to the ``[app:tutorial]`` section above it. The ``[app:tutorial]``
section is the section which actually defines our application settings. The
values within this section are passed as ``**settings`` to the ``main``
diff --git a/docs/tutorials/wiki/definingmodels.rst b/docs/tutorials/wiki/definingmodels.rst
index baf497458..9dd53609e 100644
--- a/docs/tutorials/wiki/definingmodels.rst
+++ b/docs/tutorials/wiki/definingmodels.rst
@@ -73,12 +73,6 @@ front page) into the Wiki within the ``appmaker``. This will provide
:term:`traversal` a :term:`resource tree` to work against when it attempts to
resolve URLs to resources.
-We're using a mini-framework callable named ``PersistentApplicationFinder``
-in our application (see ``__init__.py``). A ``PersistentApplicationFinder``
-accepts a ZODB URL as well as an "appmaker" callback. This callback
-typically lives in the ``models.py`` file. We'll just change this function,
-making the necessary edits.
-
Looking at the Result of Our Edits to ``models.py``
---------------------------------------------------
diff --git a/docs/tutorials/wiki/installation.rst b/docs/tutorials/wiki/installation.rst
index cc2cf0ae2..28d9eb152 100644
--- a/docs/tutorials/wiki/installation.rst
+++ b/docs/tutorials/wiki/installation.rst
@@ -66,12 +66,12 @@ Preparation, UNIX
$ bin/easy_install pyramid
#. Use ``easy_install`` to install ``docutils``, ``pyramid_tm``,
- ``repoze.zodbconn``, ``nose`` and ``coverage``:
+ ``pyramid_zodbconn``, ``pyramid_debugtoolbar``, ``nose`` and ``coverage``:
.. code-block:: text
- $ bin/easy_install docutils pyramid_tm repoze.zodbconn \
- nose coverage
+ $ bin/easy_install docutils pyramid_tm pyramid_zodbconn \
+ pyramid_debugtoolbar nose coverage
Preparation, Windows
--------------------
@@ -118,12 +118,12 @@ Preparation, Windows
c:\pyramidtut> Scripts\easy_install pyramid
#. Use ``easy_install`` to install ``docutils``, ``pyramid_tm``,
- ``repoze.zodbconn``, ``nose`` and ``coverage``:
+ ``pyramid_zodbconn``, ``pyramid_debugtoolbar``, ``nose`` and ``coverage``:
.. code-block:: text
c:\pyramidtut> Scripts\easy_install docutils pyramid_tm \
- repoze.zodbconn nose coverage
+ pyramid_zodbconn pyramid_debugtoolbar nose coverage
.. _making_a_project:
diff --git a/docs/tutorials/wiki/src/authorization/development.ini b/docs/tutorials/wiki/src/authorization/development.ini
index 48a093981..2db77b9ef 100644
--- a/docs/tutorials/wiki/src/authorization/development.ini
+++ b/docs/tutorials/wiki/src/authorization/development.ini
@@ -7,14 +7,13 @@ pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
+ pyramid_zodbconn
pyramid_tm
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/authorization/production.ini b/docs/tutorials/wiki/src/authorization/production.ini
index 247d789a9..0462bae90 100644
--- a/docs/tutorials/wiki/src/authorization/production.ini
+++ b/docs/tutorials/wiki/src/authorization/production.ini
@@ -7,13 +7,12 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
pyramid.includes = pyramid_tm
+ pyramid_zodbconn
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/authorization/setup.py b/docs/tutorials/wiki/src/authorization/setup.py
index 9cf0fb143..7dd7f2fc6 100644
--- a/docs/tutorials/wiki/src/authorization/setup.py
+++ b/docs/tutorials/wiki/src/authorization/setup.py
@@ -8,7 +8,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
- 'repoze.zodbconn',
+ 'pyramid_zodbconn',
'pyramid_tm',
'pyramid_debugtoolbar',
'ZODB3',
diff --git a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
index f7dab5f47..5daff6b22 100644
--- a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
@@ -1,12 +1,16 @@
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
from pyramid.config import Configurator
+from pyramid_zodbconn import get_connection
+
from pyramid.authentication import AuthTktAuthenticationPolicy
from pyramid.authorization import ACLAuthorizationPolicy
from tutorial.models import appmaker
from tutorial.security import groupfinder
+def root_factory(request):
+ conn = get_connection(request)
+ return appmaker(conn.root())
+
def main(global_config, **settings):
""" This function returns a WSGI application.
@@ -16,14 +20,7 @@ def main(global_config, **settings):
authn_policy = AuthTktAuthenticationPolicy(secret='sosecret',
callback=groupfinder)
authz_policy = ACLAuthorizationPolicy()
- zodb_uri = settings.get('zodb_uri', False)
- if zodb_uri is False:
- raise ValueError("No 'zodb_uri' in application configuration.")
-
- finder = PersistentApplicationFinder(zodb_uri, appmaker)
- def get_root(request):
- return finder(request.environ)
- config = Configurator(root_factory=get_root, settings=settings,
+ config = Configurator(root_factory=root_factory, settings=settings,
authentication_policy=authn_policy,
authorization_policy=authz_policy)
config.add_static_view('static', 'tutorial:static')
diff --git a/docs/tutorials/wiki/src/basiclayout/development.ini b/docs/tutorials/wiki/src/basiclayout/development.ini
index 4759662ff..28775cba9 100644
--- a/docs/tutorials/wiki/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki/src/basiclayout/development.ini
@@ -7,14 +7,13 @@ pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
+ pyramid_zodbconn
pyramid_tm
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/basiclayout/production.ini b/docs/tutorials/wiki/src/basiclayout/production.ini
index 247d789a9..0462bae90 100644
--- a/docs/tutorials/wiki/src/basiclayout/production.ini
+++ b/docs/tutorials/wiki/src/basiclayout/production.ini
@@ -7,13 +7,12 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
pyramid.includes = pyramid_tm
+ pyramid_zodbconn
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/basiclayout/setup.py b/docs/tutorials/wiki/src/basiclayout/setup.py
index bc689f941..fa641b50b 100644
--- a/docs/tutorials/wiki/src/basiclayout/setup.py
+++ b/docs/tutorials/wiki/src/basiclayout/setup.py
@@ -8,7 +8,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
- 'repoze.zodbconn',
+ 'pyramid_zodbconn',
'pyramid_tm',
'pyramid_debugtoolbar',
'ZODB3',
diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
index 6a4093a3b..3424807c0 100644
--- a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
@@ -1,18 +1,15 @@
from pyramid.config import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
+from pyramid_zodbconn import get_connection
from tutorial.models import appmaker
+def root_factory(request):
+ conn = get_connection(request)
+ return appmaker(conn.root())
+
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
- zodb_uri = settings.get('zodb_uri', False)
- if zodb_uri is False:
- raise ValueError("No 'zodb_uri' in application configuration.")
-
- finder = PersistentApplicationFinder(zodb_uri, appmaker)
- def get_root(request):
- return finder(request.environ)
- config = Configurator(root_factory=get_root, settings=settings)
+ config = Configurator(root_factory=root_factory, settings=settings)
config.add_static_view('static', 'tutorial:static')
config.scan('tutorial')
return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/models/development.ini b/docs/tutorials/wiki/src/models/development.ini
index 48a093981..2db77b9ef 100644
--- a/docs/tutorials/wiki/src/models/development.ini
+++ b/docs/tutorials/wiki/src/models/development.ini
@@ -7,14 +7,13 @@ pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
+ pyramid_zodbconn
pyramid_tm
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/models/production.ini b/docs/tutorials/wiki/src/models/production.ini
index 247d789a9..0462bae90 100644
--- a/docs/tutorials/wiki/src/models/production.ini
+++ b/docs/tutorials/wiki/src/models/production.ini
@@ -7,13 +7,12 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
pyramid.includes = pyramid_tm
+ pyramid_zodbconn
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/models/setup.py b/docs/tutorials/wiki/src/models/setup.py
index bc689f941..fa641b50b 100644
--- a/docs/tutorials/wiki/src/models/setup.py
+++ b/docs/tutorials/wiki/src/models/setup.py
@@ -8,7 +8,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
- 'repoze.zodbconn',
+ 'pyramid_zodbconn',
'pyramid_tm',
'pyramid_debugtoolbar',
'ZODB3',
diff --git a/docs/tutorials/wiki/src/models/tutorial/__init__.py b/docs/tutorials/wiki/src/models/tutorial/__init__.py
index 73fc81d23..612966c5c 100644
--- a/docs/tutorials/wiki/src/models/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/models/tutorial/__init__.py
@@ -1,18 +1,15 @@
from pyramid.config import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
+from pyramid_zodbconn import get_connection
from tutorial.models import appmaker
+def root_factory(request):
+ conn = get_connection(request)
+ return appmaker(conn.root())
+
def main(global_config, **settings):
""" This function returns a WSGI application.
"""
- zodb_uri = settings.get('zodb_uri', False)
- if zodb_uri is False:
- raise ValueError("No 'zodb_uri' in application configuration.")
-
- finder = PersistentApplicationFinder(zodb_uri, appmaker)
- def get_root(request):
- return finder(request.environ)
- config = Configurator(root_factory=get_root, settings=settings)
+ config = Configurator(root_factory=root_factory, settings=settings)
config.add_static_view('static', 'tutorial:static')
config.scan('tutorial')
return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/tests/development.ini b/docs/tutorials/wiki/src/tests/development.ini
index 48a093981..2db77b9ef 100644
--- a/docs/tutorials/wiki/src/tests/development.ini
+++ b/docs/tutorials/wiki/src/tests/development.ini
@@ -7,14 +7,13 @@ pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
+ pyramid_zodbconn
pyramid_tm
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/tests/production.ini b/docs/tutorials/wiki/src/tests/production.ini
index 247d789a9..0462bae90 100644
--- a/docs/tutorials/wiki/src/tests/production.ini
+++ b/docs/tutorials/wiki/src/tests/production.ini
@@ -7,13 +7,12 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
pyramid.includes = pyramid_tm
+ pyramid_zodbconn
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/tests/setup.py b/docs/tutorials/wiki/src/tests/setup.py
index b0fd80edd..137b2ee42 100644
--- a/docs/tutorials/wiki/src/tests/setup.py
+++ b/docs/tutorials/wiki/src/tests/setup.py
@@ -8,7 +8,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
- 'repoze.zodbconn',
+ 'pyramid_zodbconn',
'pyramid_tm',
'pyramid_debugtoolbar',
'ZODB3',
diff --git a/docs/tutorials/wiki/src/tests/tutorial/__init__.py b/docs/tutorials/wiki/src/tests/tutorial/__init__.py
index f7dab5f47..5daff6b22 100644
--- a/docs/tutorials/wiki/src/tests/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/tests/tutorial/__init__.py
@@ -1,12 +1,16 @@
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
from pyramid.config import Configurator
+from pyramid_zodbconn import get_connection
+
from pyramid.authentication import AuthTktAuthenticationPolicy
from pyramid.authorization import ACLAuthorizationPolicy
from tutorial.models import appmaker
from tutorial.security import groupfinder
+def root_factory(request):
+ conn = get_connection(request)
+ return appmaker(conn.root())
+
def main(global_config, **settings):
""" This function returns a WSGI application.
@@ -16,14 +20,7 @@ def main(global_config, **settings):
authn_policy = AuthTktAuthenticationPolicy(secret='sosecret',
callback=groupfinder)
authz_policy = ACLAuthorizationPolicy()
- zodb_uri = settings.get('zodb_uri', False)
- if zodb_uri is False:
- raise ValueError("No 'zodb_uri' in application configuration.")
-
- finder = PersistentApplicationFinder(zodb_uri, appmaker)
- def get_root(request):
- return finder(request.environ)
- config = Configurator(root_factory=get_root, settings=settings,
+ config = Configurator(root_factory=root_factory, settings=settings,
authentication_policy=authn_policy,
authorization_policy=authz_policy)
config.add_static_view('static', 'tutorial:static')
diff --git a/docs/tutorials/wiki/src/tests/tutorial/tests.py b/docs/tutorials/wiki/src/tests/tutorial/tests.py
index 86ddba7b7..b1d4e68c3 100644
--- a/docs/tutorials/wiki/src/tests/tutorial/tests.py
+++ b/docs/tutorials/wiki/src/tests/tutorial/tests.py
@@ -137,14 +137,12 @@ class FunctionalTests(unittest.TestCase):
self.tmpdir = tempfile.mkdtemp()
dbpath = os.path.join( self.tmpdir, 'test.db')
- from repoze.zodbconn.uri import db_from_uri
- db = db_from_uri('file://' + dbpath)
- settings = { 'zodb_uri' : None }
+ uri = 'file://' + dbpath
+ settings = { 'zodbconn.uri' : uri ,
+ 'pyramid.includes': ['pyramid_zodbconn', 'pyramid_tm'] }
app = main({}, **settings)
- from repoze.zodbconn.connector import Connector
- app = Connector(app, db)
- self.db = db
+ self.db = app.registry.zodb_database
from webtest import TestApp
self.testapp = TestApp(app)
diff --git a/docs/tutorials/wiki/src/views/development.ini b/docs/tutorials/wiki/src/views/development.ini
index 4759662ff..28775cba9 100644
--- a/docs/tutorials/wiki/src/views/development.ini
+++ b/docs/tutorials/wiki/src/views/development.ini
@@ -7,14 +7,13 @@ pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
+ pyramid_zodbconn
pyramid_tm
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/views/production.ini b/docs/tutorials/wiki/src/views/production.ini
index 247d789a9..0462bae90 100644
--- a/docs/tutorials/wiki/src/views/production.ini
+++ b/docs/tutorials/wiki/src/views/production.ini
@@ -7,13 +7,12 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
pyramid.includes = pyramid_tm
+ pyramid_zodbconn
tm.attempts = 3
-
-zodb_uri = file://%(here)s/Data.fs?connection_cache_size=20000
+zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
[pipeline:main]
pipeline =
- egg:repoze.zodbconn#closer
tutorial
[server:main]
diff --git a/docs/tutorials/wiki/src/views/setup.py b/docs/tutorials/wiki/src/views/setup.py
index 315a11fe8..756618072 100644
--- a/docs/tutorials/wiki/src/views/setup.py
+++ b/docs/tutorials/wiki/src/views/setup.py
@@ -8,7 +8,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
- 'repoze.zodbconn',
+ 'pyramid_zodbconn',
'pyramid_tm',
'pyramid_debugtoolbar',
'ZODB3',
diff --git a/docs/tutorials/wiki/src/views/tutorial/__init__.py b/docs/tutorials/wiki/src/views/tutorial/__init__.py
index 04a01fead..70d48c8b2 100644
--- a/docs/tutorials/wiki/src/views/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/views/tutorial/__init__.py
@@ -1,18 +1,15 @@
from pyramid.config import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
+from pyramid_zodbconn import get_connection
from tutorial.models import appmaker
+def root_factory(request):
+ conn = get_connection(request)
+ return appmaker(conn.root())
+
def main(global_config, **settings):
""" This function returns a WSGI application.
"""
- zodb_uri = settings.get('zodb_uri', False)
- if zodb_uri is False:
- raise ValueError("No 'zodb_uri' in application configuration.")
-
- finder = PersistentApplicationFinder(zodb_uri, appmaker)
- def get_root(request):
- return finder(request.environ)
- config = Configurator(root_factory=get_root, settings=settings)
+ config = Configurator(root_factory=root_factory, settings=settings)
config.add_static_view('static', 'tutorial:static')
config.scan('tutorial')
return config.make_wsgi_app()