summaryrefslogtreecommitdiff
path: root/docs/tutorials
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-11-11 13:40:44 -0500
committerChris McDonough <chrism@plope.com>2010-11-11 13:40:44 -0500
commit40eb89e594ec6aefaeffb3db67493bdf0f9b6224 (patch)
treeb6e4049d428c3e148f8197baee3570c6d3f14245 /docs/tutorials
parent560fe3ae45077020c54edf52bd33dbc8f2973e69 (diff)
downloadpyramid-40eb89e594ec6aefaeffb3db67493bdf0f9b6224.tar.gz
pyramid-40eb89e594ec6aefaeffb3db67493bdf0f9b6224.tar.bz2
pyramid-40eb89e594ec6aefaeffb3db67493bdf0f9b6224.zip
- SQLAlchemy+urldispach wiki (``wiki2``) tutorial updated due to changes to
``pyramid_routesalchemy`` paster template.
Diffstat (limited to 'docs/tutorials')
-rw-r--r--docs/tutorials/wiki2/basiclayout.rst18
-rw-r--r--docs/tutorials/wiki2/definingviews.rst42
-rw-r--r--docs/tutorials/wiki2/src/authorization/development.ini11
-rw-r--r--docs/tutorials/wiki2/src/authorization/setup.py8
-rw-r--r--docs/tutorials/wiki2/src/authorization/tutorial/__init__.py7
-rw-r--r--docs/tutorials/wiki2/src/authorization/tutorial/models.py3
-rw-r--r--docs/tutorials/wiki2/src/authorization/tutorial/templates/mytemplate.pt104
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/development.ini10
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/setup.py8
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py11
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/models.py3
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.pt104
-rw-r--r--docs/tutorials/wiki2/src/models/development.ini10
-rw-r--r--docs/tutorials/wiki2/src/models/setup.py8
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/__init__.py7
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/models.py3
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.pt104
-rw-r--r--docs/tutorials/wiki2/src/views/development.ini11
-rw-r--r--docs/tutorials/wiki2/src/views/setup.py10
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/__init__.py7
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/models.py3
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/templates/mytemplate.pt104
22 files changed, 294 insertions, 302 deletions
diff --git a/docs/tutorials/wiki2/basiclayout.rst b/docs/tutorials/wiki2/basiclayout.rst
index 30e9b5b3c..9aca94fe5 100644
--- a/docs/tutorials/wiki2/basiclayout.rst
+++ b/docs/tutorials/wiki2/basiclayout.rst
@@ -32,30 +32,30 @@ entry point happens to be the ``app`` function within the file named
#. *Lines 1-4*. Imports to support later code.
-#. *Lines 12-14*. Get the database configuration string from the
+#. *Lines 9-11*. Get the database configuration string from the
``development.ini`` file's ``[app:sqlalchemy]`` section. This will be a
URI (something like ``sqlite://``).
-#. *Line 15*. Get the database echo setting from ``development.ini``
+#. *Line 12*. Get the database echo setting from ``development.ini``
file's ``[app:sqlalchemy]`` section. This will either be ``true``
or ``false``. If ``true``, the application will print SQL to the
console as it is generated and run by SQLAlchemy. By default, it
is false.
-#. Line *16*. We initialize our SQL database using SQLAlchemy, passing
+#. Line *13*. We initialize our SQL database using SQLAlchemy, passing
it the db string and a variant of the db_echo value.
-#. *Line 17*. We construct a :term:`Configurator`. ``settings`` is
+#. *Line 14*. We construct a :term:`Configurator`. ``settings`` is
passed as a keyword argument with the dictionary values passed by
PasteDeploy as the ``settings`` argument. This will be a
dictionary of settings parsed by PasteDeploy, which contains
deployment-related values such as ``reload_templates``,
``db_string``, etc.
-#. *Line 18*. We call :meth:`pyramid.configuration.Configurator.begin` which
+#. *Line 15*. We call :meth:`pyramid.configuration.Configurator.begin` which
tells the configuration machinery we are starting configuration.
-#. *Line 19*. We call
+#. *Line 16*. We call
:meth:`pyramid.configuration.Configurator.add_static_view` with the
arguments ``static`` (the name), and ``tutorial:static`` (the path). This
registers a static resource view which will match any URL that starts with
@@ -67,7 +67,7 @@ entry point happens to be the ``app`` function within the file named
``/static/foo``) will be used to compose a path to a static file resource,
such as a CSS file.
-#. *Lines 20-21*. Register a :term:`route configuration` via the
+#. *Lines 17-18*. Register a :term:`route configuration` via the
:meth:`pyramid.configuration.Configurator.add_route` method that will be
used when the URL is ``/``. Since this route has an ``pattern`` equalling
``/`` it is the "default" route. The argument named ``view`` with the
@@ -81,10 +81,10 @@ entry point happens to be the ``app`` function within the file named
``tutorial.views.my_view`` view returns a dictionary, a :term:`renderer`
will use this template to create a response.
-#. *Line 22*. We call :meth:`pyramid.configuration.Configurator.end` which
+#. *Line 19*. We call :meth:`pyramid.configuration.Configurator.end` which
tells the configuration machinery we are ending configuration.
-#. *Line 23*. We use the
+#. *Line 20*. We use the
:meth:`pyramid.configuration.Configurator.make_wsgi_app` method to return
a :term:`WSGI` application.
diff --git a/docs/tutorials/wiki2/definingviews.rst b/docs/tutorials/wiki2/definingviews.rst
index 83a8cf3f0..b87cd6a64 100644
--- a/docs/tutorials/wiki2/definingviews.rst
+++ b/docs/tutorials/wiki2/definingviews.rst
@@ -194,11 +194,9 @@ like this:
Adding Templates
================
-The views we've added all reference a :term:`template`. Each template
-is a :term:`Chameleon` template. The default templating system in
-:app:`Pyramid` is a variant of :term:`ZPT` provided by
-:term:`Chameleon`. These templates will live in the ``templates``
-directory of our tutorial package.
+The views we've added all reference a :term:`template`. Each template is a
+:term:`Chameleon` :term:`ZPT` template. These templates will live in the
+``templates`` directory of our tutorial package.
The ``view.pt`` Template
------------------------
@@ -299,41 +297,11 @@ something like so:
:linenos:
:language: python
-The WSGI Pipeline
------------------
-
-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
-don't use a pipeline: instead they expose a single WSGI application as
-"main". Our setup is more complicated, so we use a pipeline.
-
-``egg:repoze.tm2#tm`` is at the "top" of the pipeline. This is a
-piece of middleware which commits a transaction if no exception
-occurs; if an exception occurs, the transaction will be aborted. This
-is the piece of software that allows us to forget about needing to do
-manual commits and aborts of our database connection in view code.
-
-Adding an Element to the Pipeline
----------------------------------
-
-Let's add a piece of middleware to the WSGI pipeline. We'll add
-``egg:Paste#evalerror`` middleware which displays debuggable errors in
-the browser while you're developing (this is *not* recommended for
-deployment as it is a security risk). Let's insert evalerror into the
-pipeline right above ``egg:repoze.tm2#tm``, making our resulting
-``development.ini`` file look like so:
-
-.. literalinclude:: src/views/development.ini
- :linenos:
- :language: ini
-
Viewing the Application in a Browser
====================================
-Once we've set up the WSGI pipeline properly, we can finally examine
-our application in a browser. The views we'll try are as follows:
+We can finally examine our application in a browser. The views we'll try are
+as follows:
- Visiting ``http://localhost:6543`` in a browser invokes the
``view_wiki`` view. This always redirects to the ``view_page`` view
diff --git a/docs/tutorials/wiki2/src/authorization/development.ini b/docs/tutorials/wiki2/src/authorization/development.ini
index 85f131c2e..e1d0ab598 100644
--- a/docs/tutorials/wiki2/src/authorization/development.ini
+++ b/docs/tutorials/wiki2/src/authorization/development.ini
@@ -1,8 +1,5 @@
-[DEFAULT]
-debug = true
-
-[app:sqlalchemy]
-use = egg:tutorial#app
+[app:tutorial]
+use = egg:tutorial
reload_templates = true
debug_authorization = false
debug_notfound = false
@@ -13,9 +10,9 @@ db_echo = false
[pipeline:main]
pipeline =
- egg:Paste#evalerror
+ egg:WebError#evalerror
egg:repoze.tm2#tm
- sqlalchemy
+ tutorial
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/wiki2/src/authorization/setup.py b/docs/tutorials/wiki2/src/authorization/setup.py
index 5dabb69a2..3be3146b7 100644
--- a/docs/tutorials/wiki2/src/authorization/setup.py
+++ b/docs/tutorials/wiki2/src/authorization/setup.py
@@ -13,6 +13,7 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
+ 'WebError',
'docutils'
]
@@ -32,7 +33,7 @@ setup(name='tutorial',
author='',
author_email='',
url='',
- keywords='web wsgi pylons pyramid bfg',
+ keywords='web wsgi bfg pylons pyramid',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
@@ -40,7 +41,8 @@ setup(name='tutorial',
install_requires = requires,
entry_points = """\
[paste.app_factory]
- app = tutorial:app
- """
+ main = tutorial:main
+ """,
+ paster_plugins=['pyramid'],
)
diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py
index bfd3acc6a..4bddea74c 100644
--- a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py
@@ -2,16 +2,13 @@ from pyramid.configuration import Configurator
from pyramid.authentication import AuthTktAuthenticationPolicy
from pyramid.authorization import ACLAuthorizationPolicy
-from paste.deploy.converters import asbool
+from pyramid.settings import asbool
from tutorial.models import initialize_sql
from tutorial.security import groupfinder
-def app(global_config, **settings):
+def main(global_config, **settings):
""" This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
"""
db_string = settings.get('db_string')
if db_string is None:
diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/models.py b/docs/tutorials/wiki2/src/authorization/tutorial/models.py
index a77b4964c..c914163bf 100644
--- a/docs/tutorials/wiki2/src/authorization/tutorial/models.py
+++ b/docs/tutorials/wiki2/src/authorization/tutorial/models.py
@@ -16,8 +16,7 @@ from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(sessionmaker(
- extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class Page(Base):
diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/templates/mytemplate.pt b/docs/tutorials/wiki2/src/authorization/tutorial/templates/mytemplate.pt
index a5a0dd214..6ad23d44f 100644
--- a/docs/tutorials/wiki2/src/authorization/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/wiki2/src/authorization/tutorial/templates/mytemplate.pt
@@ -8,57 +8,67 @@
<link rel="shortcut icon" href="${request.application_url}/static/favicon.ico" />
<link rel="stylesheet" href="${request.application_url}/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+ <!--[if !IE 7]>
+ <style type="text/css">
+ #wrap {display:table;height:100%}
+ </style>
+ <![endif]-->
</head>
<body>
- <div id="header">
- <div class="header">The Pyramid Web Application Development Framework</div>
- </div>
- <div id="top">
- <div class="top align-center">
- <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
- <p class="app-welcome">
- Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
- </p>
+ <div id="wrap">
+ <div id="header">
+ <div class="header">The Pyramid Web Application Development Framework</div>
</div>
- </div>
- <div id="bottom">
- <div class="bottom">
- <div id="left" class="align-right">
- <h3>Search Pyramid documentation</h3>
- <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
- <input type="text" id="q" name="q" value="" />
- <input type="submit" id="x" value="Search" />
- </form>
+ <div id="top">
+ <div class="top align-center">
+ <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
+ <p class="app-welcome">
+ Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
+ the Pyramid web application development framework.
+ </p>
</div>
- <div id="right" class="align-left">
- <h3>Pyramid links</h3>
- <ul class="links">
- <li>
- <a href="http://pylonshq.com">Pylons Website</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
- </li>
- <li>
- <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
- </li>
- </ul>
+ </div>
+ <div id="bottom">
+ <div class="bottom">
+ <div id="left" class="align-right">
+ <h3>Search Pyramid documentation</h3>
+ <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
+ <input type="text" id="q" name="q" value="" />
+ <input type="submit" id="x" value="Search" />
+ </form>
+ </div>
+ <div id="right" class="align-left">
+ <h3>Pyramid links</h3>
+ <ul class="links">
+ <li>
+ <a href="http://pylonshq.com">Pylons Website</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
+ </li>
+ <li>
+ <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
+ </li>
+ </ul>
+ </div>
</div>
</div>
</div>
diff --git a/docs/tutorials/wiki2/src/basiclayout/development.ini b/docs/tutorials/wiki2/src/basiclayout/development.ini
index 73b5ed9a4..e1d0ab598 100644
--- a/docs/tutorials/wiki2/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/development.ini
@@ -1,8 +1,5 @@
-[DEFAULT]
-debug = true
-
-[app:sqlalchemy]
-use = egg:tutorial#app
+[app:tutorial]
+use = egg:tutorial
reload_templates = true
debug_authorization = false
debug_notfound = false
@@ -13,8 +10,9 @@ db_echo = false
[pipeline:main]
pipeline =
+ egg:WebError#evalerror
egg:repoze.tm2#tm
- sqlalchemy
+ tutorial
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/wiki2/src/basiclayout/setup.py b/docs/tutorials/wiki2/src/basiclayout/setup.py
index 79b1a37c9..09764f40f 100644
--- a/docs/tutorials/wiki2/src/basiclayout/setup.py
+++ b/docs/tutorials/wiki2/src/basiclayout/setup.py
@@ -13,6 +13,7 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
+ 'WebError',
]
if sys.version_info[:3] < (2,5,0):
@@ -31,7 +32,7 @@ setup(name='tutorial',
author='',
author_email='',
url='',
- keywords='web wsgi pylons pyramid bfg',
+ keywords='web wsgi bfg pylons pyramid',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
@@ -39,7 +40,8 @@ setup(name='tutorial',
install_requires = requires,
entry_points = """\
[paste.app_factory]
- app = tutorial:app
- """
+ main = tutorial:main
+ """,
+ paster_plugins=['pyramid'],
)
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
index 7a947f1e1..7a701fc02 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
@@ -1,13 +1,10 @@
from pyramid.configuration import Configurator
-from paste.deploy.converters import asbool
+from pyramid.settings import asbool
from tutorial.models import initialize_sql
-def app(global_config, **settings):
- """ This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
+def main(global_config, **settings):
+ """ This function returns a Pyramid WSGI application.
"""
db_string = settings.get('db_string')
if db_string is None:
@@ -21,3 +18,5 @@ def app(global_config, **settings):
view_renderer='templates/mytemplate.pt')
config.end()
return config.make_wsgi_app()
+
+
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/models.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/models.py
index ae71e7943..a1726ebf4 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/models.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/models.py
@@ -13,8 +13,7 @@ from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(sessionmaker(
- extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class MyModel(Base):
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.pt b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.pt
index a5a0dd214..6ad23d44f 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.pt
@@ -8,57 +8,67 @@
<link rel="shortcut icon" href="${request.application_url}/static/favicon.ico" />
<link rel="stylesheet" href="${request.application_url}/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+ <!--[if !IE 7]>
+ <style type="text/css">
+ #wrap {display:table;height:100%}
+ </style>
+ <![endif]-->
</head>
<body>
- <div id="header">
- <div class="header">The Pyramid Web Application Development Framework</div>
- </div>
- <div id="top">
- <div class="top align-center">
- <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
- <p class="app-welcome">
- Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
- </p>
+ <div id="wrap">
+ <div id="header">
+ <div class="header">The Pyramid Web Application Development Framework</div>
</div>
- </div>
- <div id="bottom">
- <div class="bottom">
- <div id="left" class="align-right">
- <h3>Search Pyramid documentation</h3>
- <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
- <input type="text" id="q" name="q" value="" />
- <input type="submit" id="x" value="Search" />
- </form>
+ <div id="top">
+ <div class="top align-center">
+ <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
+ <p class="app-welcome">
+ Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
+ the Pyramid web application development framework.
+ </p>
</div>
- <div id="right" class="align-left">
- <h3>Pyramid links</h3>
- <ul class="links">
- <li>
- <a href="http://pylonshq.com">Pylons Website</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
- </li>
- <li>
- <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
- </li>
- </ul>
+ </div>
+ <div id="bottom">
+ <div class="bottom">
+ <div id="left" class="align-right">
+ <h3>Search Pyramid documentation</h3>
+ <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
+ <input type="text" id="q" name="q" value="" />
+ <input type="submit" id="x" value="Search" />
+ </form>
+ </div>
+ <div id="right" class="align-left">
+ <h3>Pyramid links</h3>
+ <ul class="links">
+ <li>
+ <a href="http://pylonshq.com">Pylons Website</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
+ </li>
+ <li>
+ <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
+ </li>
+ </ul>
+ </div>
</div>
</div>
</div>
diff --git a/docs/tutorials/wiki2/src/models/development.ini b/docs/tutorials/wiki2/src/models/development.ini
index 73b5ed9a4..e1d0ab598 100644
--- a/docs/tutorials/wiki2/src/models/development.ini
+++ b/docs/tutorials/wiki2/src/models/development.ini
@@ -1,8 +1,5 @@
-[DEFAULT]
-debug = true
-
-[app:sqlalchemy]
-use = egg:tutorial#app
+[app:tutorial]
+use = egg:tutorial
reload_templates = true
debug_authorization = false
debug_notfound = false
@@ -13,8 +10,9 @@ db_echo = false
[pipeline:main]
pipeline =
+ egg:WebError#evalerror
egg:repoze.tm2#tm
- sqlalchemy
+ tutorial
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/wiki2/src/models/setup.py b/docs/tutorials/wiki2/src/models/setup.py
index 79b1a37c9..09764f40f 100644
--- a/docs/tutorials/wiki2/src/models/setup.py
+++ b/docs/tutorials/wiki2/src/models/setup.py
@@ -13,6 +13,7 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
+ 'WebError',
]
if sys.version_info[:3] < (2,5,0):
@@ -31,7 +32,7 @@ setup(name='tutorial',
author='',
author_email='',
url='',
- keywords='web wsgi pylons pyramid bfg',
+ keywords='web wsgi bfg pylons pyramid',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
@@ -39,7 +40,8 @@ setup(name='tutorial',
install_requires = requires,
entry_points = """\
[paste.app_factory]
- app = tutorial:app
- """
+ main = tutorial:main
+ """,
+ paster_plugins=['pyramid'],
)
diff --git a/docs/tutorials/wiki2/src/models/tutorial/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/__init__.py
index 7a947f1e1..10fcd0cbc 100644
--- a/docs/tutorials/wiki2/src/models/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/models/tutorial/__init__.py
@@ -1,13 +1,10 @@
from pyramid.configuration import Configurator
-from paste.deploy.converters import asbool
+from pyramid.settings import asbool
from tutorial.models import initialize_sql
-def app(global_config, **settings):
+def main(global_config, **settings):
""" This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
"""
db_string = settings.get('db_string')
if db_string is None:
diff --git a/docs/tutorials/wiki2/src/models/tutorial/models.py b/docs/tutorials/wiki2/src/models/tutorial/models.py
index 8c3f14915..ec9d2b25c 100644
--- a/docs/tutorials/wiki2/src/models/tutorial/models.py
+++ b/docs/tutorials/wiki2/src/models/tutorial/models.py
@@ -13,8 +13,7 @@ from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(sessionmaker(
- extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class Page(Base):
diff --git a/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.pt b/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.pt
index a5a0dd214..6ad23d44f 100644
--- a/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.pt
@@ -8,57 +8,67 @@
<link rel="shortcut icon" href="${request.application_url}/static/favicon.ico" />
<link rel="stylesheet" href="${request.application_url}/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+ <!--[if !IE 7]>
+ <style type="text/css">
+ #wrap {display:table;height:100%}
+ </style>
+ <![endif]-->
</head>
<body>
- <div id="header">
- <div class="header">The Pyramid Web Application Development Framework</div>
- </div>
- <div id="top">
- <div class="top align-center">
- <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
- <p class="app-welcome">
- Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
- </p>
+ <div id="wrap">
+ <div id="header">
+ <div class="header">The Pyramid Web Application Development Framework</div>
</div>
- </div>
- <div id="bottom">
- <div class="bottom">
- <div id="left" class="align-right">
- <h3>Search Pyramid documentation</h3>
- <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
- <input type="text" id="q" name="q" value="" />
- <input type="submit" id="x" value="Search" />
- </form>
+ <div id="top">
+ <div class="top align-center">
+ <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
+ <p class="app-welcome">
+ Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
+ the Pyramid web application development framework.
+ </p>
</div>
- <div id="right" class="align-left">
- <h3>Pyramid links</h3>
- <ul class="links">
- <li>
- <a href="http://pylonshq.com">Pylons Website</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
- </li>
- <li>
- <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
- </li>
- </ul>
+ </div>
+ <div id="bottom">
+ <div class="bottom">
+ <div id="left" class="align-right">
+ <h3>Search Pyramid documentation</h3>
+ <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
+ <input type="text" id="q" name="q" value="" />
+ <input type="submit" id="x" value="Search" />
+ </form>
+ </div>
+ <div id="right" class="align-left">
+ <h3>Pyramid links</h3>
+ <ul class="links">
+ <li>
+ <a href="http://pylonshq.com">Pylons Website</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
+ </li>
+ <li>
+ <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
+ </li>
+ </ul>
+ </div>
</div>
</div>
</div>
diff --git a/docs/tutorials/wiki2/src/views/development.ini b/docs/tutorials/wiki2/src/views/development.ini
index 85f131c2e..e1d0ab598 100644
--- a/docs/tutorials/wiki2/src/views/development.ini
+++ b/docs/tutorials/wiki2/src/views/development.ini
@@ -1,8 +1,5 @@
-[DEFAULT]
-debug = true
-
-[app:sqlalchemy]
-use = egg:tutorial#app
+[app:tutorial]
+use = egg:tutorial
reload_templates = true
debug_authorization = false
debug_notfound = false
@@ -13,9 +10,9 @@ db_echo = false
[pipeline:main]
pipeline =
- egg:Paste#evalerror
+ egg:WebError#evalerror
egg:repoze.tm2#tm
- sqlalchemy
+ tutorial
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/wiki2/src/views/setup.py b/docs/tutorials/wiki2/src/views/setup.py
index 5dabb69a2..58f464f8c 100644
--- a/docs/tutorials/wiki2/src/views/setup.py
+++ b/docs/tutorials/wiki2/src/views/setup.py
@@ -13,7 +13,8 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
- 'docutils'
+ 'WebError',
+ 'docutils',
]
if sys.version_info[:3] < (2,5,0):
@@ -32,7 +33,7 @@ setup(name='tutorial',
author='',
author_email='',
url='',
- keywords='web wsgi pylons pyramid bfg',
+ keywords='web wsgi bfg pylons pyramid',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
@@ -40,7 +41,8 @@ setup(name='tutorial',
install_requires = requires,
entry_points = """\
[paste.app_factory]
- app = tutorial:app
- """
+ main = tutorial:main
+ """,
+ paster_plugins=['pyramid'],
)
diff --git a/docs/tutorials/wiki2/src/views/tutorial/__init__.py b/docs/tutorials/wiki2/src/views/tutorial/__init__.py
index 4eeb1b6a9..9ef923e0b 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/views/tutorial/__init__.py
@@ -1,13 +1,10 @@
from pyramid.configuration import Configurator
-from paste.deploy.converters import asbool
+from pyramid.settings import asbool
from tutorial.models import initialize_sql
-def app(global_config, **settings):
+def main(global_config, **settings):
""" This function returns a WSGI application.
-
- It is usually called by the PasteDeploy framework during
- ``paster serve``.
"""
db_string = settings.get('db_string')
if db_string is None:
diff --git a/docs/tutorials/wiki2/src/views/tutorial/models.py b/docs/tutorials/wiki2/src/views/tutorial/models.py
index 8c3f14915..ec9d2b25c 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/models.py
+++ b/docs/tutorials/wiki2/src/views/tutorial/models.py
@@ -13,8 +13,7 @@ from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(sessionmaker(
- extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class Page(Base):
diff --git a/docs/tutorials/wiki2/src/views/tutorial/templates/mytemplate.pt b/docs/tutorials/wiki2/src/views/tutorial/templates/mytemplate.pt
index a5a0dd214..6ad23d44f 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/wiki2/src/views/tutorial/templates/mytemplate.pt
@@ -8,57 +8,67 @@
<link rel="shortcut icon" href="${request.application_url}/static/favicon.ico" />
<link rel="stylesheet" href="${request.application_url}/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+ <!--[if !IE 7]>
+ <style type="text/css">
+ #wrap {display:table;height:100%}
+ </style>
+ <![endif]-->
</head>
<body>
- <div id="header">
- <div class="header">The Pyramid Web Application Development Framework</div>
- </div>
- <div id="top">
- <div class="top align-center">
- <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
- <p class="app-welcome">
- Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
- the Pyramid web application development framework.
- </p>
+ <div id="wrap">
+ <div id="header">
+ <div class="header">The Pyramid Web Application Development Framework</div>
</div>
- </div>
- <div id="bottom">
- <div class="bottom">
- <div id="left" class="align-right">
- <h3>Search Pyramid documentation</h3>
- <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
- <input type="text" id="q" name="q" value="" />
- <input type="submit" id="x" value="Search" />
- </form>
+ <div id="top">
+ <div class="top align-center">
+ <img src="${request.application_url}/static/logo.png" width="300" height="80"/>
+ <p class="app-welcome">
+ Welcome to <span class="app-name">${project}</span>, an application generated by<br/>
+ the Pyramid web application development framework.
+ </p>
</div>
- <div id="right" class="align-left">
- <h3>Pyramid links</h3>
- <ul class="links">
- <li>
- <a href="http://pylonshq.com">Pylons Website</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
- </li>
- <li>
- <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
- </li>
- <li>
- <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
- </li>
- </ul>
+ </div>
+ <div id="bottom">
+ <div class="bottom">
+ <div id="left" class="align-right">
+ <h3>Search Pyramid documentation</h3>
+ <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
+ <input type="text" id="q" name="q" value="" />
+ <input type="submit" id="x" value="Search" />
+ </form>
+ </div>
+ <div id="right" class="align-left">
+ <h3>Pyramid links</h3>
+ <ul class="links">
+ <li>
+ <a href="http://pylonshq.com">Pylons Website</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
+ </li>
+ <li>
+ <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
+ </li>
+ </ul>
+ </div>
</div>
</div>
</div>