summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-11-04 02:20:15 -0400
committerChris McDonough <chrism@plope.com>2010-11-04 02:20:15 -0400
commitb3b7132a8c2964bf3638f0be23dcf87dca737877 (patch)
tree740ed6b6a8c791e800c51084b1efcf809b7ef71a /docs
parent3940b26876f0979c31fcf89f13673757d869491f (diff)
downloadpyramid-b3b7132a8c2964bf3638f0be23dcf87dca737877.tar.gz
pyramid-b3b7132a8c2964bf3638f0be23dcf87dca737877.tar.bz2
pyramid-b3b7132a8c2964bf3638f0be23dcf87dca737877.zip
- The ZODB Wiki tutorial was updated to take into account changes to the
``pyramid_zodb`` paster template.
Diffstat (limited to 'docs')
-rw-r--r--docs/tutorials/wiki/authorization.rst2
-rw-r--r--docs/tutorials/wiki/basiclayout.rst94
-rw-r--r--docs/tutorials/wiki/definingmodels.rst2
-rw-r--r--docs/tutorials/wiki/definingviews.rst14
-rw-r--r--docs/tutorials/wiki/installation.rst22
-rw-r--r--docs/tutorials/wiki/src/authorization/development.ini (renamed from docs/tutorials/wiki/src/authorization/tutorial.ini)0
-rw-r--r--docs/tutorials/wiki/src/authorization/setup.py2
-rw-r--r--docs/tutorials/wiki/src/authorization/tutorial/__init__.py22
-rw-r--r--docs/tutorials/wiki/src/authorization/tutorial/run.py23
-rw-r--r--docs/tutorials/wiki/src/basiclayout/development.ini (renamed from docs/tutorials/wiki/src/basiclayout/tutorial.ini)0
-rw-r--r--docs/tutorials/wiki/src/basiclayout/setup.py2
-rw-r--r--docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py23
-rw-r--r--docs/tutorials/wiki/src/basiclayout/tutorial/run.py22
-rw-r--r--docs/tutorials/wiki/src/models/development.ini (renamed from docs/tutorials/wiki/src/models/tutorial.ini)0
-rw-r--r--docs/tutorials/wiki/src/models/setup.py2
-rw-r--r--docs/tutorials/wiki/src/models/tutorial/__init__.py23
-rw-r--r--docs/tutorials/wiki/src/models/tutorial/run.py22
-rw-r--r--docs/tutorials/wiki/src/viewdecorators/development.ini (renamed from docs/tutorials/wiki/src/viewdecorators/tutorial.ini)0
-rw-r--r--docs/tutorials/wiki/src/viewdecorators/setup.py2
-rw-r--r--docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py23
-rw-r--r--docs/tutorials/wiki/src/viewdecorators/tutorial/run.py22
-rw-r--r--docs/tutorials/wiki/src/views/development.ini (renamed from docs/tutorials/wiki/src/views/tutorial.ini)0
-rw-r--r--docs/tutorials/wiki/src/views/setup.py2
-rw-r--r--docs/tutorials/wiki/src/views/tutorial/__init__.py23
-rw-r--r--docs/tutorials/wiki/src/views/tutorial/run.py22
25 files changed, 184 insertions, 185 deletions
diff --git a/docs/tutorials/wiki/authorization.rst b/docs/tutorials/wiki/authorization.rst
index 189401a45..e63a610c2 100644
--- a/docs/tutorials/wiki/authorization.rst
+++ b/docs/tutorials/wiki/authorization.rst
@@ -51,7 +51,7 @@ Adding ``security.py``
~~~~~~~~~~~~~~~~~~~~~~
Add a ``security.py`` module within your package (in the same
-directory as ``run.py``, ``views.py``, etc) with the following
+directory as ``__init__.py``, ``views.py``, etc) with the following
content:
.. literalinclude:: src/authorization/tutorial/security.py
diff --git a/docs/tutorials/wiki/basiclayout.rst b/docs/tutorials/wiki/basiclayout.rst
index 2649a345f..a03529e21 100644
--- a/docs/tutorials/wiki/basiclayout.rst
+++ b/docs/tutorials/wiki/basiclayout.rst
@@ -11,12 +11,53 @@ The source code for this tutorial stage can be browsed via
`http://github.com/Pylons/pyramid/tree/master/docs/tutorials/wiki/src/basiclayout/
<http://github.com/Pylons/pyramid/tree/master/docs/tutorials/wiki/src/basiclayout/>`_.
-``__init__.py``
----------------
+App Startup with ``__init__.py``
+--------------------------------
-A directory on disk can be turned into a Python :term:`package` by
-containing an ``__init__.py`` file. Even if empty, this marks a
-directory as a Python package.
+A directory on disk can be turned into a Python :term:`package` by containing
+an ``__init__.py`` file. Even if empty, this marks a directory as a Python
+package. Our application uses ``__init__.py`` as both a package marker, as
+well as to contain application configuration code.
+
+When you run the application using the ``paster`` command using the
+``development.ini`` generated config file, the application configuration
+points at an Setuptools *entry point* described as ``egg:tutorial#app``. In
+our application, because the application's ``setup.py`` file says so, this
+entry point happens to be the ``app`` function within the file named
+``__init__.py``:
+
+ .. literalinclude:: src/basiclayout/tutorial/__init__.py
+ :linenos:
+ :language: py
+
+#. *Lines 1-2*. Perform some dependency imports.
+
+#. *Line 12*. 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``).
+
+#. *Line 15*. 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 16 - 17*. We create a :term:`root factory` which uses the
+ finder to return a ZODB root object.
+
+#. *Line 18*. We construct a :term:`Configurator` with a :term:`root
+ factory` and the settings keywords parsed by PasteDeploy. The root
+ factory is named ``get_root``.
+
+#. *Lines 19-21*. Begin configuration using the ``begin`` method of
+ the :meth:`pyramid.configuration.Configurator` class, load the
+ ``configure.zcml`` file from our package using the
+ :meth:`pyramid.configuration.Configurator.load_zcml` method, and
+ end configuration using the
+ :meth:`pyramid.configuration.Configurator.end` method.
+
+#. *Line 22*. Use the
+ :meth:`pyramid.configuration.Configurator.make_wsgi_app` method
+ to return a :term:`WSGI` application.
Configuration With ``configure.zcml``
--------------------------------------
@@ -92,46 +133,3 @@ Here is the source for ``models.py``:
commit the transaction. We then return the application root
object.
-App Startup with ``run.py``
----------------------------
-
-When you run the application using the ``paster`` command using the
-``tutorial.ini`` generated config file, the application configuration
-points at an Setuptools *entry point* described as
-``egg:tutorial#app``. In our application, because the application's
-``setup.py`` file says so, this entry point happens to be the ``app``
-function within the file named ``run.py``:
-
- .. literalinclude:: src/basiclayout/tutorial/run.py
- :linenos:
- :language: py
-
-#. *Lines 1-2*. Perform some dependency imports.
-
-#. *Line 12*. Get the ZODB configuration from the ``tutorial.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``).
-
-#. *Line 15*. 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 16 - 17*. We create a :term:`root factory` which uses the
- finder to return a ZODB root object.
-
-#. *Line 18*. We construct a :term:`Configurator` with a :term:`root
- factory` and the settings keywords parsed by PasteDeploy. The root
- factory is named ``get_root``.
-
-#. *Lines 19-21*. Begin configuration using the ``begin`` method of
- the :meth:`pyramid.configuration.Configurator` class, load the
- ``configure.zcml`` file from our package using the
- :meth:`pyramid.configuration.Configurator.load_zcml` method, and
- end configuration using the
- :meth:`pyramid.configuration.Configurator.end` method.
-
-#. *Line 22*. Use the
- :meth:`pyramid.configuration.Configurator.make_wsgi_app` method
- to return a :term:`WSGI` application.
-
diff --git a/docs/tutorials/wiki/definingmodels.rst b/docs/tutorials/wiki/definingmodels.rst
index b63d0c21b..3fa72dd87 100644
--- a/docs/tutorials/wiki/definingmodels.rst
+++ b/docs/tutorials/wiki/definingmodels.rst
@@ -75,7 +75,7 @@ Add an Appmaker
---------------
We're using a mini-framework callable named
-``PersistentApplicationFinder`` in our application (see ``run.py``).
+``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.
diff --git a/docs/tutorials/wiki/definingviews.rst b/docs/tutorials/wiki/definingviews.rst
index 41a9ad373..05ce2fbcd 100644
--- a/docs/tutorials/wiki/definingviews.rst
+++ b/docs/tutorials/wiki/definingviews.rst
@@ -342,20 +342,20 @@ something like so:
:linenos:
:language: xml
-Examining ``tutorial.ini``
-==========================
+Examining ``development.ini``
+=============================
-Let's take a look at our ``tutorial.ini`` file. The contents of the
+Let's take a look at our ``development.ini`` file. The contents of the
file are as follows:
-.. literalinclude:: src/models/tutorial.ini
+.. literalinclude:: src/models/development.ini
:linenos:
:language: ini
The WSGI Pipeline
-----------------
-Within ``tutorial.ini``, note the existence of a ``[pipeline:main]``
+Within ``development.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
@@ -377,10 +377,10 @@ Let's add a piece of middleware to the WSGI pipeline:
``egg:Paste#evalerror`` middleware which displays debuggable errors in
the browser while you're developing (not recommended for deployment).
Let's insert evalerror into the pipeline right below
-"egg:repoze.zodbconn#closer", making our resulting ``tutorial.ini``
+"egg:repoze.zodbconn#closer", making our resulting ``development.ini``
file look like so:
-.. literalinclude:: src/views/tutorial.ini
+.. literalinclude:: src/views/development.ini
:linenos:
:language: ini
diff --git a/docs/tutorials/wiki/installation.rst b/docs/tutorials/wiki/installation.rst
index 237abe7c3..9fff233c1 100644
--- a/docs/tutorials/wiki/installation.rst
+++ b/docs/tutorials/wiki/installation.rst
@@ -244,11 +244,19 @@ You will see the generated application's default page.
Decisions the ``pyramid_zodb`` Template Has Made For You
========================================================
-Creating a project using the ``pyramid_zodb`` template makes the
-assumption that you are willing to use :term:`ZODB` as persistent
-storage and :term:`traversal` to map URLs to code. :mod:`pyramid`
-supports any persistent storage mechanism (e.g. a SQL database or
-filesystem files, etc). It also supports an additional mechanism to
-map URLs to code (:term:`URL dispatch`). However, for the purposes of
-this tutorial, we'll only be using traversal and ZODB.
+Creating a project using the ``pyramid_zodb`` template makes the following
+assumptions:
+
+- you are willing to use :term:`ZODB` as persistent storage
+
+- you are willing to use :term:`traversal` to map URLs to code.
+
+- you want to use :term:`ZCML` to perform configuration.
+
+.. note::
+
+ :mod:`pyramid` supports any persistent storage mechanism (e.g. a SQL
+ database or filesystem files, etc). :mod:`pyramid` also supports an
+ additional mechanism to map URLs to code (:term:`URL dispatch`). However,
+ for the purposes of this tutorial, we'll only be using traversal and ZODB.
diff --git a/docs/tutorials/wiki/src/authorization/tutorial.ini b/docs/tutorials/wiki/src/authorization/development.ini
index 181682585..181682585 100644
--- a/docs/tutorials/wiki/src/authorization/tutorial.ini
+++ b/docs/tutorials/wiki/src/authorization/development.ini
diff --git a/docs/tutorials/wiki/src/authorization/setup.py b/docs/tutorials/wiki/src/authorization/setup.py
index bb2482cce..ec8b9b1d5 100644
--- a/docs/tutorials/wiki/src/authorization/setup.py
+++ b/docs/tutorials/wiki/src/authorization/setup.py
@@ -37,7 +37,7 @@ setup(name='tutorial',
test_suite="tutorial",
entry_points = """\
[paste.app_factory]
- app = tutorial.run:app
+ app = tutorial:app
"""
)
diff --git a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
index cbdfd3ac6..5eef90841 100644
--- a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py
@@ -1,2 +1,22 @@
-# A package
+from pyramid.configuration import Configurator
+from repoze.zodbconn.finder import PersistentApplicationFinder
+from tutorial.models import appmaker
+
+def app(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ zodb_uri = settings.get('zodb_uri')
+ if zodb_uri is None:
+ 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.begin()
+ config.load_zcml('configure.zcml')
+ config.end()
+ return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/authorization/tutorial/run.py b/docs/tutorials/wiki/src/authorization/tutorial/run.py
deleted file mode 100644
index 875e77590..000000000
--- a/docs/tutorials/wiki/src/authorization/tutorial/run.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from pyramid.configuration import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
-from tutorial.models import appmaker
-
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
- """
- zodb_uri = settings.get('zodb_uri')
- if zodb_uri is None:
- 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.begin()
- config.load_zcml('configure.zcml')
- config.end()
- return config.make_wsgi_app()
-
diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial.ini b/docs/tutorials/wiki/src/basiclayout/development.ini
index 897a2bde6..897a2bde6 100644
--- a/docs/tutorials/wiki/src/basiclayout/tutorial.ini
+++ b/docs/tutorials/wiki/src/basiclayout/development.ini
diff --git a/docs/tutorials/wiki/src/basiclayout/setup.py b/docs/tutorials/wiki/src/basiclayout/setup.py
index f4a011c7e..c6c694e3d 100644
--- a/docs/tutorials/wiki/src/basiclayout/setup.py
+++ b/docs/tutorials/wiki/src/basiclayout/setup.py
@@ -37,6 +37,6 @@ setup(name='tutorial',
test_suite="tutorial",
entry_points = """\
[paste.app_factory]
- app = tutorial.run:app
+ app = tutorial:app
"""
)
diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
index cbdfd3ac6..875e77590 100644
--- a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py
@@ -1,2 +1,23 @@
-# A package
+from pyramid.configuration import Configurator
+from repoze.zodbconn.finder import PersistentApplicationFinder
+
+from tutorial.models import appmaker
+
+def app(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ zodb_uri = settings.get('zodb_uri')
+ if zodb_uri is None:
+ 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.begin()
+ config.load_zcml('configure.zcml')
+ config.end()
+ return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial/run.py b/docs/tutorials/wiki/src/basiclayout/tutorial/run.py
deleted file mode 100644
index 5eef90841..000000000
--- a/docs/tutorials/wiki/src/basiclayout/tutorial/run.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from pyramid.configuration import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
-from tutorial.models import appmaker
-
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
- """
- zodb_uri = settings.get('zodb_uri')
- if zodb_uri is None:
- 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.begin()
- config.load_zcml('configure.zcml')
- config.end()
- return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/models/tutorial.ini b/docs/tutorials/wiki/src/models/development.ini
index 897a2bde6..897a2bde6 100644
--- a/docs/tutorials/wiki/src/models/tutorial.ini
+++ b/docs/tutorials/wiki/src/models/development.ini
diff --git a/docs/tutorials/wiki/src/models/setup.py b/docs/tutorials/wiki/src/models/setup.py
index f4a011c7e..c6c694e3d 100644
--- a/docs/tutorials/wiki/src/models/setup.py
+++ b/docs/tutorials/wiki/src/models/setup.py
@@ -37,6 +37,6 @@ setup(name='tutorial',
test_suite="tutorial",
entry_points = """\
[paste.app_factory]
- app = tutorial.run:app
+ app = tutorial:app
"""
)
diff --git a/docs/tutorials/wiki/src/models/tutorial/__init__.py b/docs/tutorials/wiki/src/models/tutorial/__init__.py
index cbdfd3ac6..875e77590 100644
--- a/docs/tutorials/wiki/src/models/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/models/tutorial/__init__.py
@@ -1,2 +1,23 @@
-# A package
+from pyramid.configuration import Configurator
+from repoze.zodbconn.finder import PersistentApplicationFinder
+
+from tutorial.models import appmaker
+
+def app(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ zodb_uri = settings.get('zodb_uri')
+ if zodb_uri is None:
+ 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.begin()
+ config.load_zcml('configure.zcml')
+ config.end()
+ return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/models/tutorial/run.py b/docs/tutorials/wiki/src/models/tutorial/run.py
deleted file mode 100644
index 5eef90841..000000000
--- a/docs/tutorials/wiki/src/models/tutorial/run.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from pyramid.configuration import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
-from tutorial.models import appmaker
-
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
- """
- zodb_uri = settings.get('zodb_uri')
- if zodb_uri is None:
- 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.begin()
- config.load_zcml('configure.zcml')
- config.end()
- return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/viewdecorators/tutorial.ini b/docs/tutorials/wiki/src/viewdecorators/development.ini
index 181682585..181682585 100644
--- a/docs/tutorials/wiki/src/viewdecorators/tutorial.ini
+++ b/docs/tutorials/wiki/src/viewdecorators/development.ini
diff --git a/docs/tutorials/wiki/src/viewdecorators/setup.py b/docs/tutorials/wiki/src/viewdecorators/setup.py
index 977990a29..e579c3dae 100644
--- a/docs/tutorials/wiki/src/viewdecorators/setup.py
+++ b/docs/tutorials/wiki/src/viewdecorators/setup.py
@@ -37,6 +37,6 @@ setup(name='tutorial',
test_suite="tutorial",
entry_points = """\
[paste.app_factory]
- app = tutorial.run:app
+ app = tutorial:app
"""
)
diff --git a/docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py b/docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py
index cbdfd3ac6..875e77590 100644
--- a/docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/viewdecorators/tutorial/__init__.py
@@ -1,2 +1,23 @@
-# A package
+from pyramid.configuration import Configurator
+from repoze.zodbconn.finder import PersistentApplicationFinder
+
+from tutorial.models import appmaker
+
+def app(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ zodb_uri = settings.get('zodb_uri')
+ if zodb_uri is None:
+ 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.begin()
+ config.load_zcml('configure.zcml')
+ config.end()
+ return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/viewdecorators/tutorial/run.py b/docs/tutorials/wiki/src/viewdecorators/tutorial/run.py
deleted file mode 100644
index 5eef90841..000000000
--- a/docs/tutorials/wiki/src/viewdecorators/tutorial/run.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from pyramid.configuration import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
-from tutorial.models import appmaker
-
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
- """
- zodb_uri = settings.get('zodb_uri')
- if zodb_uri is None:
- 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.begin()
- config.load_zcml('configure.zcml')
- config.end()
- return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/views/tutorial.ini b/docs/tutorials/wiki/src/views/development.ini
index 181682585..181682585 100644
--- a/docs/tutorials/wiki/src/views/tutorial.ini
+++ b/docs/tutorials/wiki/src/views/development.ini
diff --git a/docs/tutorials/wiki/src/views/setup.py b/docs/tutorials/wiki/src/views/setup.py
index f4a011c7e..c6c694e3d 100644
--- a/docs/tutorials/wiki/src/views/setup.py
+++ b/docs/tutorials/wiki/src/views/setup.py
@@ -37,6 +37,6 @@ setup(name='tutorial',
test_suite="tutorial",
entry_points = """\
[paste.app_factory]
- app = tutorial.run:app
+ app = tutorial:app
"""
)
diff --git a/docs/tutorials/wiki/src/views/tutorial/__init__.py b/docs/tutorials/wiki/src/views/tutorial/__init__.py
index cbdfd3ac6..875e77590 100644
--- a/docs/tutorials/wiki/src/views/tutorial/__init__.py
+++ b/docs/tutorials/wiki/src/views/tutorial/__init__.py
@@ -1,2 +1,23 @@
-# A package
+from pyramid.configuration import Configurator
+from repoze.zodbconn.finder import PersistentApplicationFinder
+
+from tutorial.models import appmaker
+
+def app(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ zodb_uri = settings.get('zodb_uri')
+ if zodb_uri is None:
+ 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.begin()
+ config.load_zcml('configure.zcml')
+ config.end()
+ return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki/src/views/tutorial/run.py b/docs/tutorials/wiki/src/views/tutorial/run.py
deleted file mode 100644
index 5eef90841..000000000
--- a/docs/tutorials/wiki/src/views/tutorial/run.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from pyramid.configuration import Configurator
-from repoze.zodbconn.finder import PersistentApplicationFinder
-
-from tutorial.models import appmaker
-
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
- """
- zodb_uri = settings.get('zodb_uri')
- if zodb_uri is None:
- 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.begin()
- config.load_zcml('configure.zcml')
- config.end()
- return config.make_wsgi_app()