summaryrefslogtreecommitdiff
path: root/docs/tutorials
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-10-13 23:55:28 +0000
committerChris McDonough <chrism@agendaless.com>2010-10-13 23:55:28 +0000
commit3dbdfef11d770a5b79df08c01258e070ee8b7f70 (patch)
treecf8471ff18fa3378e03e23be5c100e63c9991791 /docs/tutorials
parent5c7bdc471961fa6079d2b10330bd2d584cb6f35b (diff)
downloadpyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.gz
pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.bz2
pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.zip
merge tutorialfix branch
Diffstat (limited to 'docs/tutorials')
-rw-r--r--docs/tutorials/bfgwiki/background.rst2
-rw-r--r--docs/tutorials/bfgwiki/installation.rst26
-rw-r--r--docs/tutorials/bfgwiki/src/authorization/setup.cfg30
-rw-r--r--docs/tutorials/bfgwiki/src/basiclayout/setup.cfg29
-rw-r--r--docs/tutorials/bfgwiki/src/models/setup.cfg29
-rw-r--r--docs/tutorials/bfgwiki/src/viewdecorators/setup.cfg29
-rw-r--r--docs/tutorials/bfgwiki/src/views/setup.cfg29
-rw-r--r--docs/tutorials/bfgwiki2/background.rst2
-rw-r--r--docs/tutorials/bfgwiki2/basiclayout.rst56
-rw-r--r--docs/tutorials/bfgwiki2/definingmodels.rst2
-rw-r--r--docs/tutorials/bfgwiki2/installation.rst30
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/CHANGES.txt2
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/setup.cfg25
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial.ini7
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml2
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial/models.py25
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py11
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial/templates/mytemplate.pt12
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/CHANGES.txt3
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/setup.cfg25
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/setup.py1
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial.ini7
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial/configure.zcml4
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial/models.py37
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial/run.py11
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial/templates/mytemplate.pt12
-rw-r--r--docs/tutorials/bfgwiki2/src/basiclayout/tutorial/views.py4
-rw-r--r--docs/tutorials/bfgwiki2/src/models/CHANGES.txt3
-rw-r--r--docs/tutorials/bfgwiki2/src/models/setup.cfg25
-rw-r--r--docs/tutorials/bfgwiki2/src/models/setup.py1
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial.ini7
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial/configure.zcml4
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial/models.py10
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial/run.py11
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial/templates/mytemplate.pt12
-rw-r--r--docs/tutorials/bfgwiki2/src/models/tutorial/views.py4
-rw-r--r--docs/tutorials/bfgwiki2/src/views/CHANGES.txt3
-rw-r--r--docs/tutorials/bfgwiki2/src/views/setup.cfg25
-rw-r--r--docs/tutorials/bfgwiki2/src/views/tutorial.ini7
-rw-r--r--docs/tutorials/bfgwiki2/src/views/tutorial/configure.zcml2
-rw-r--r--docs/tutorials/bfgwiki2/src/views/tutorial/models.py7
-rw-r--r--docs/tutorials/bfgwiki2/src/views/tutorial/run.py11
-rw-r--r--docs/tutorials/bfgwiki2/src/views/tutorial/templates/mytemplate.pt12
43 files changed, 407 insertions, 189 deletions
diff --git a/docs/tutorials/bfgwiki/background.rst b/docs/tutorials/bfgwiki/background.rst
index c1d8d7477..072e2cfa1 100644
--- a/docs/tutorials/bfgwiki/background.rst
+++ b/docs/tutorials/bfgwiki/background.rst
@@ -13,6 +13,6 @@ To code along with this tutorial, the developer will need a UNIX
machine with development tools (Mac OS X with XCode, any Linux or BSD
variant, etc) *or* he will need a Windows system of any kind.
-This tutorial targets :mod:`repoze.bfg` version 1.2.
+This tutorial targets :mod:`repoze.bfg` version 1.3.
Have fun!
diff --git a/docs/tutorials/bfgwiki/installation.rst b/docs/tutorials/bfgwiki/installation.rst
index 4f1e5a34f..e58d73493 100644
--- a/docs/tutorials/bfgwiki/installation.rst
+++ b/docs/tutorials/bfgwiki/installation.rst
@@ -17,30 +17,30 @@ whether you're using UNIX or Windows.
Preparation, UNIX
-----------------
-#. If you don't already have a Python 2.5 interpreter installed on
- your system, obtain, install, or find `Python 2.5
- <http://python.org/download/releases/2.5.4/>`_ for your system.
+#. If you don't already have a Python 2.6 interpreter installed on
+ your system, obtain, install, or find `Python 2.6
+ <http://python.org/download/releases/2.6.6/>`_ for your system.
#. Install the latest `setuptools` into the Python you
obtained/installed/found in the step above: download `ez_setup.py
<http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
- the ``python`` interpreter of your Python 2.5 installation:
+ the ``python`` interpreter of your Python 2.6 installation:
.. code-block:: bash
- $ /path/to/my/Python-2.5/bin/python ez_setup.py
+ $ /path/to/my/Python-2.6/bin/python ez_setup.py
#. Use that Python's `bin/easy_install` to install `virtualenv`:
.. code-block:: bash
- $ /path/to/my/Python-2.5/bin/easy_install virtualenv
+ $ /path/to/my/Python-2.6/bin/easy_install virtualenv
#. Use that Python's virtualenv to make a workspace:
.. code-block:: bash
- $ path/to/my/Python-25/bin/virtualenv --no-site-packages bigfntut
+ $ path/to/my/Python-2.6/bin/virtualenv --no-site-packages bigfntut
#. Switch to the ``bigfntut`` directory:
@@ -72,30 +72,30 @@ Preparation, UNIX
Preparation, Windows
--------------------
-#. Install, or find `Python 2.5
- <http://python.org/download/releases/2.5.4/>`_ for your system.
+#. Install, or find `Python 2.6
+ <http://python.org/download/releases/2.6.6/>`_ for your system.
#. Install the latest `setuptools` into the Python you
obtained/installed/found in the step above: download `ez_setup.py
<http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
- the ``python`` interpreter of your Python 2.5 installation using a
+ the ``python`` interpreter of your Python 2.6 installation using a
command prompt:
.. code-block:: bat
- c:\> c:\Python25\python ez_setup.py
+ c:\> c:\Python26\python ez_setup.py
#. Use that Python's `bin/easy_install` to install `virtualenv`:
.. code-block:: bat
- c:\> c:\Python25\Scripts\easy_install virtualenv
+ c:\> c:\Python26\Scripts\easy_install virtualenv
#. Use that Python's virtualenv to make a workspace:
.. code-block:: bat
- c:\> c:\Python25\Scripts\virtualenv --no-site-packages bigfntut
+ c:\> c:\Python26\Scripts\virtualenv --no-site-packages bigfntut
#. Switch to the ``bigfntut`` directory:
diff --git a/docs/tutorials/bfgwiki/src/authorization/setup.cfg b/docs/tutorials/bfgwiki/src/authorization/setup.cfg
index 05d3f2c44..3d7ea6e23 100644
--- a/docs/tutorials/bfgwiki/src/authorization/setup.cfg
+++ b/docs/tutorials/bfgwiki/src/authorization/setup.cfg
@@ -1,2 +1,28 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
+[nosetests]
+match=^test
+nocapture=1
+cover-package=tutorial
+with-coverage=1
+cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
+
diff --git a/docs/tutorials/bfgwiki/src/basiclayout/setup.cfg b/docs/tutorials/bfgwiki/src/basiclayout/setup.cfg
index 42614578b..3d7ea6e23 100644
--- a/docs/tutorials/bfgwiki/src/basiclayout/setup.cfg
+++ b/docs/tutorials/bfgwiki/src/basiclayout/setup.cfg
@@ -1,3 +1,28 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
+[nosetests]
+match=^test
+nocapture=1
+cover-package=tutorial
+with-coverage=1
+cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki/src/models/setup.cfg b/docs/tutorials/bfgwiki/src/models/setup.cfg
index 42614578b..3d7ea6e23 100644
--- a/docs/tutorials/bfgwiki/src/models/setup.cfg
+++ b/docs/tutorials/bfgwiki/src/models/setup.cfg
@@ -1,3 +1,28 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
+[nosetests]
+match=^test
+nocapture=1
+cover-package=tutorial
+with-coverage=1
+cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki/src/viewdecorators/setup.cfg b/docs/tutorials/bfgwiki/src/viewdecorators/setup.cfg
index 42614578b..3d7ea6e23 100644
--- a/docs/tutorials/bfgwiki/src/viewdecorators/setup.cfg
+++ b/docs/tutorials/bfgwiki/src/viewdecorators/setup.cfg
@@ -1,3 +1,28 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
+[nosetests]
+match=^test
+nocapture=1
+cover-package=tutorial
+with-coverage=1
+cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki/src/views/setup.cfg b/docs/tutorials/bfgwiki/src/views/setup.cfg
index 42614578b..3d7ea6e23 100644
--- a/docs/tutorials/bfgwiki/src/views/setup.cfg
+++ b/docs/tutorials/bfgwiki/src/views/setup.cfg
@@ -1,3 +1,28 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
+[nosetests]
+match=^test
+nocapture=1
+cover-package=tutorial
+with-coverage=1
+cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki2/background.rst b/docs/tutorials/bfgwiki2/background.rst
index 09dc8de64..aed9b875d 100644
--- a/docs/tutorials/bfgwiki2/background.rst
+++ b/docs/tutorials/bfgwiki2/background.rst
@@ -12,6 +12,6 @@ To code along with this tutorial, the developer will need a UNIX
machine with development tools (Mac OS X with XCode, any Linux or BSD
variant, etc) *or* he will need a Windows system of any kind.
-This tutorial is targeted at :mod:`repoze.bfg` version 1.2.
+This tutorial is targeted at :mod:`repoze.bfg` version 1.3.
Have fun!
diff --git a/docs/tutorials/bfgwiki2/basiclayout.rst b/docs/tutorials/bfgwiki2/basiclayout.rst
index e09316fab..bf458c844 100644
--- a/docs/tutorials/bfgwiki2/basiclayout.rst
+++ b/docs/tutorials/bfgwiki2/basiclayout.rst
@@ -31,7 +31,7 @@ following:
#. *Line 1*. The root ``<configure>`` element, using the
``http://namespaces.repoze.org/bfg`` namespace.
-#. *Line 4*. Boilerplate, the comment explains.
+#. *Lines 3-4*. Boilerplate, the comment explains.
#. *Lines 6-11*. Register a ``<route>`` :term:`route configuration`
that will be used when the URL is ``/``. Since this ``<route>``
@@ -56,6 +56,8 @@ following:
``/foo`` in ``/static/foo``) will be used to compose a path to a
static file resource, such as a CSS file.
+#. *Line 18*. The closing ``</configure>`` tag.
+
Content Models with ``models.py``
---------------------------------
@@ -71,33 +73,28 @@ Here is the source for ``models.py``:
:linenos:
:language: py
-#. *Lines 1-16*. Imports to support later code.
+#. *Lines 1-14*. Imports to support later code.
-#. *Line 18*. We set up a SQLAlchemy "DBSession" object here. We
+#. *Line 16*. We set up a SQLAlchemy "DBSession" object here. We
specify that we'd like to use the "ZopeTransactionExtension". This
extension is an extension which allows us to use a *transaction
manager* instead of controlling commits and aborts to database
operations by hand.
-#. *Line 21*. Set up a SQLAlchemy metadata object.
-
-#. *Lines 23-25*. A model class named ``Model``. It has an
- ``__init__`` that takes a single argument (``name``). It stores a
- single attribute named ``name``.
-
-#. *Lines 27-32*. A SQLAlchemy ``Table`` declaration named
- ``models_table`` which we'll use later to map onto our ``Model``
- class.
+#. *Line 17*. We create a declarative ``Base`` object to use as a
+ base class for our model.
-#. *Line 34*. We map our ``models_table`` table to our Models class
- here. This makes an association between the ``Model`` class and
- the ``models`` table in the database, as far as SQLAlchemy is
- concerned.
+#. *Lines 19-27*. A model class named ``MyModel``. It has an
+ ``__init__`` that takes a two arguments (``name``, and ``value``).
+ It stores these values as ``self.name`` and ``self.value`` within
+ the ``__init__`` function itself. The ``MyModel`` class also has a
+ ``__tablename__`` attribute. This informs SQLAlchemy which table
+ to use to store the data representing instances of this class.
-#. *Lines 36-41*. A function named ``populate`` which adds a single
+#. *Lines 29-34*. A function named ``populate`` which adds a single
model instance into our SQL storage and commits a transaction.
-#. *Lines 43-51*. A function named ``initialize_sql`` which sets up
+#. *Lines 36-44*. A function named ``initialize_sql`` which sets up
an actual SQL database and binds it to our SQLAlchemy DBSession
object. It also calls the ``populate`` function, to do initial
database population.
@@ -118,21 +115,32 @@ function within the file named ``run.py``:
#. *Lines 1-3*. Imports to support later code.
-#. *Lines 11-14*. Get the database configuration string from the
- ``tutorial.ini`` file's ``[app:sql]`` section. This will be a URI
+#. *Line 12*. Obtain the ``configure_zcml`` setting from a value in
+ the ``tutorial.ini`` file's ``[app:sqlalchemy]`` section. If it
+ doesn't exist in the configuration file, default to
+ ``configure.zcml``.
+
+#. *Lines 13-15*. Get the database configuration string from the
+ ``tutorial.ini`` file's ``[app:sqlalchemy]`` section. This will be a URI
(something like ``sqlite://``).
-#. Line *15*. We initialize our SQL database using SQLAlchemy, passing
- it the db string.
+#. *Line 16*. Get the database echo settingf rom ``tutorial.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 *17*. We initialize our SQL database using SQLAlchemy, passing
+ it the db string and a variant of the db_echo value.
-#. *Line 16*. We construct a :term:`Configurator`. ``settings`` is
+#. *Line 18*. 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.
-#. *Lines 17-20*. We then load a ZCML file to do application
+#. *Lines 19-22*. We then load a ZCML file to do application
configuration, and use the
:meth:`repoze.bfg.configuration.Configurator.make_wsgi_app` method
to return a :term:`WSGI` application.
diff --git a/docs/tutorials/bfgwiki2/definingmodels.rst b/docs/tutorials/bfgwiki2/definingmodels.rst
index 03c97259f..378f7beda 100644
--- a/docs/tutorials/bfgwiki2/definingmodels.rst
+++ b/docs/tutorials/bfgwiki2/definingmodels.rst
@@ -75,4 +75,4 @@ that ends with this exception:
.. code-block:: text
- ImportError: cannot import name Model
+ ImportError: cannot import name MyModel
diff --git a/docs/tutorials/bfgwiki2/installation.rst b/docs/tutorials/bfgwiki2/installation.rst
index 4c8dc7080..1225bb18a 100644
--- a/docs/tutorials/bfgwiki2/installation.rst
+++ b/docs/tutorials/bfgwiki2/installation.rst
@@ -22,30 +22,30 @@ Preparation, UNIX
manager. For example, on a Debian Linux system, do ``sudo apt-get
install libsqlite3-dev``.
-#. If you don't already have a Python 2.5 interpreter installed on
- your system, obtain, install, or find `Python 2.5
- <http://python.org/download/releases/2.5.4/>`_ for your system.
+#. If you don't already have a Python 2.6 interpreter installed on
+ your system, obtain, install, or find `Python 2.6
+ <http://www.python.org/download/releases/2.6.6/>`_ for your system.
#. Install the latest `setuptools` into the Python you
obtained/installed/found in the step above: download `ez_setup.py
<http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
- the ``python`` interpreter of your Python 2.5 installation:
+ the ``python`` interpreter of your Python 2.6 installation:
.. code-block:: text
- $ /path/to/my/Python-2.5/bin/python ez_setup.py
+ $ /path/to/my/Python-2.6/bin/python ez_setup.py
#. Use that Python's `bin/easy_install` to install `virtualenv`:
.. code-block:: text
- $ /path/to/my/Python-2.5/bin/easy_install virtualenv
+ $ /path/to/my/Python-2.6/bin/easy_install virtualenv
#. Use that Python's virtualenv to make a workspace:
.. code-block:: text
- $ path/to/my/Python-25/bin/virtualenv --no-site-packages bigfntut
+ $ path/to/my/Python-2.6/bin/virtualenv --no-site-packages bigfntut
#. Switch to the ``bigfntut`` directory:
@@ -61,8 +61,8 @@ Preparation, UNIX
.. code-block:: text
- $ bin/easy_install -i http://dist.repoze.org/bfg/current/simple \
- repoze.bfg
+ $ bin/easy_install -i http://dist.repoze.org/bfg/current/simple
+ repoze.bfg
#. Use ``easy_install`` to install various packages from PyPI.
@@ -74,30 +74,30 @@ Preparation, UNIX
Preparation, Windows
--------------------
-#. Install, or find `Python 2.5
- <http://python.org/download/releases/2.5.4/>`_ for your system.
+#. Install, or find `Python 2.6.6
+ <http://python.org/download/releases/2.6.6/>`_ for your system.
#. Install the latest `setuptools` into the Python you
obtained/installed/found in the step above: download `ez_setup.py
<http://peak.telecommunity.com/dist/ez_setup.py>`_ and run it using
- the ``python`` interpreter of your Python 2.5 installation using a
+ the ``python`` interpreter of your Python 2.6 installation using a
command prompt:
.. code-block:: text
- c:\> c:\Python25\python ez_setup.py
+ c:\> c:\Python26\python ez_setup.py
#. Use that Python's `bin/easy_install` to install `virtualenv`:
.. code-block:: text
- c:\> c:\Python25\Scripts\easy_install virtualenv
+ c:\> c:\Python26\Scripts\easy_install virtualenv
#. Use that Python's virtualenv to make a workspace:
.. code-block:: text
- c:\> c:\Python25\Scripts\virtualenv --no-site-packages bigfntut
+ c:\> c:\Python26\Scripts\virtualenv --no-site-packages bigfntut
#. Switch to the ``bigfntut`` directory:
diff --git a/docs/tutorials/bfgwiki2/src/authorization/CHANGES.txt b/docs/tutorials/bfgwiki2/src/authorization/CHANGES.txt
index ffa255da8..35a34f332 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/CHANGES.txt
+++ b/docs/tutorials/bfgwiki2/src/authorization/CHANGES.txt
@@ -1,4 +1,4 @@
0.0
---
-- Initial version
+- Initial version
diff --git a/docs/tutorials/bfgwiki2/src/authorization/setup.cfg b/docs/tutorials/bfgwiki2/src/authorization/setup.cfg
index 56fe3be14..23b2ad983 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/setup.cfg
+++ b/docs/tutorials/bfgwiki2/src/authorization/setup.cfg
@@ -1,8 +1,27 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
-
[nosetests]
+match=^test
nocapture=1
cover-package=tutorial
with-coverage=1
cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial.ini b/docs/tutorials/bfgwiki2/src/authorization/tutorial.ini
index d89616316..85f131c2e 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial.ini
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial.ini
@@ -1,18 +1,21 @@
[DEFAULT]
debug = true
-[app:sql]
+[app:sqlalchemy]
use = egg:tutorial#app
reload_templates = true
debug_authorization = false
debug_notfound = false
+debug_templates = true
+default_locale_name = en
db_string = sqlite:///%(here)s/tutorial.db
+db_echo = false
[pipeline:main]
pipeline =
egg:Paste#evalerror
egg:repoze.tm2#tm
- sql
+ sqlalchemy
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml b/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml
index 213573d7a..0fd79b4e3 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/configure.zcml
@@ -4,7 +4,7 @@
<include package="repoze.bfg.includes" />
<static
- pattern="templates/static"
+ path="templates/static"
name="static"
/>
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/models.py b/docs/tutorials/bfgwiki2/src/authorization/tutorial/models.py
index 607aa6fde..5f5dba0b1 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/models.py
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/models.py
@@ -1,22 +1,21 @@
import transaction
+from repoze.bfg.security import Allow
+from repoze.bfg.security import Everyone
+
from sqlalchemy import create_engine
from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import Text
from sqlalchemy.exc import IntegrityError
+from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
-from sqlalchemy.ext.declarative import declarative_base
-
from zope.sqlalchemy import ZopeTransactionExtension
-from repoze.bfg.security import Allow
-from repoze.bfg.security import Everyone
-
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
@@ -31,14 +30,8 @@ class Page(Base):
self.name = name
self.data = data
-class RootFactory(object):
- __acl__ = [ (Allow, Everyone, 'view'),
- (Allow, 'group:editors', 'edit') ]
- def __init__(self, request):
- self.__dict__.update(request.matchdict)
-
-def initialize_sql(db, echo=False):
- engine = create_engine(db, echo=echo)
+def initialize_sql(db_string, echo=False):
+ engine = create_engine(db_string, echo=echo)
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.create_all(engine)
@@ -50,3 +43,9 @@ def initialize_sql(db, echo=False):
except IntegrityError:
# already created
pass
+
+class RootFactory(object):
+ __acl__ = [ (Allow, Everyone, 'view'),
+ (Allow, 'group:editors', 'edit') ]
+ def __init__(self, request):
+ self.__dict__.update(request.matchdict)
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py b/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
index 2bf8a8de7..d018595df 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
@@ -1,4 +1,5 @@
from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
from tutorial.models import initialize_sql
from tutorial.models import RootFactory
@@ -9,13 +10,15 @@ def app(global_config, **settings):
It is usually called by the PasteDeploy framework during
``paster serve``.
"""
+ zcml_file = settings.get('configure_zcml', 'configure.zcml')
db_string = settings.get('db_string')
if db_string is None:
- raise ValueError("No 'db_string' value in application "
- "configuration.")
- initialize_sql(db_string)
+ raise ValueError("No 'db_string' value in application configuration.")
+ db_echo = settings.get('db_echo', 'false')
+ initialize_sql(db_string, asbool(db_echo))
config = Configurator(settings=settings, root_factory=RootFactory)
config.begin()
- config.load_zcml('configure.zcml')
+ config.load_zcml(zcml_file)
config.end()
return config.make_wsgi_app()
+
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/templates/mytemplate.pt b/docs/tutorials/bfgwiki2/src/authorization/tutorial/templates/mytemplate.pt
index 767252554..2aedcad9f 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/templates/mytemplate.pt
@@ -48,31 +48,31 @@
<h2><code>repoze.bfg</code> links</h2>
<ul>
<li><a
- href="http://docs.repoze.org/bfg/#narrative-documentation">Narrative
+ href="http://docs.repoze.org/bfg/current/#narrative-documentation">Narrative
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#api-documentation">API
+ href="http://docs.repoze.org/bfg/current/#api-documentation">API
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#tutorials">Tutorials</a>
+ href="http://docs.repoze.org/bfg/current/#tutorials">Tutorials</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#change-history">Change
+ href="http://docs.repoze.org/bfg/current/#change-history">Change
History</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#sample-applications">Sample
+ href="http://docs.repoze.org/bfg/current/#sample-applications">Sample
Applications</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#support-and-development">Support
+ href="http://docs.repoze.org/bfg/current/#support-and-development">Support
and Development</a>
</li>
<li>
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/CHANGES.txt b/docs/tutorials/bfgwiki2/src/basiclayout/CHANGES.txt
index e14f633ab..35a34f332 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/CHANGES.txt
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/CHANGES.txt
@@ -1,5 +1,4 @@
0.0
---
-- Initial version
-
+- Initial version
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/setup.cfg b/docs/tutorials/bfgwiki2/src/basiclayout/setup.cfg
index 56fe3be14..23b2ad983 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/setup.cfg
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/setup.cfg
@@ -1,8 +1,27 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
-
[nosetests]
+match=^test
nocapture=1
cover-package=tutorial
with-coverage=1
cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/setup.py b/docs/tutorials/bfgwiki2/src/basiclayout/setup.py
index 764e8c0ea..fae50a1ee 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/setup.py
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/setup.py
@@ -13,7 +13,6 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
- 'docutils'
]
if sys.version_info[:3] < (2,5,0):
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial.ini b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial.ini
index 1f8a5ccce..73b5ed9a4 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial.ini
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial.ini
@@ -1,17 +1,20 @@
[DEFAULT]
debug = true
-[app:sql]
+[app:sqlalchemy]
use = egg:tutorial#app
reload_templates = true
debug_authorization = false
debug_notfound = false
+debug_templates = true
+default_locale_name = en
db_string = sqlite:///%(here)s/tutorial.db
+db_echo = false
[pipeline:main]
pipeline =
egg:repoze.tm2#tm
- sql
+ sqlalchemy
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/configure.zcml b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/configure.zcml
index f04eec9b4..6d16bd089 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/configure.zcml
@@ -3,7 +3,7 @@
<!-- this must be included for the view declarations to work -->
<include package="repoze.bfg.includes" />
- <route
+ <route
pattern=""
name="home"
view=".views.my_view"
@@ -11,8 +11,8 @@
/>
<static
- pattern="templates/static"
name="static"
+ path="templates/static"
/>
</configure>
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/models.py b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/models.py
index 456a02a4f..a1726ebf4 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/models.py
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/models.py
@@ -3,48 +3,41 @@ import transaction
from sqlalchemy import create_engine
from sqlalchemy import Column
from sqlalchemy import Integer
-from sqlalchemy import MetaData
-from sqlalchemy import Table
from sqlalchemy import Unicode
from sqlalchemy.exc import IntegrityError
+from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
-from sqlalchemy.orm import mapper
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(
- sessionmaker(extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
+Base = declarative_base()
-metadata = MetaData()
+class MyModel(Base):
+ __tablename__ = 'models'
+ id = Column(Integer, primary_key=True)
+ name = Column(Unicode(255), unique=True)
+ value = Column(Integer)
-class Model(object):
- def __init__(self, name=''):
+ def __init__(self, name, value):
self.name = name
-
-models_table = Table(
- 'models',
- metadata,
- Column('id', Integer, primary_key=True),
- Column('name', Unicode(255), unique=True),
- )
-
-models_mapper = mapper(Model, models_table)
+ self.value = value
def populate():
session = DBSession()
- model = Model(name=u'root')
+ model = MyModel(name=u'root',value=55)
session.add(model)
session.flush()
transaction.commit()
-def initialize_sql(db_string, echo=False):
- engine = create_engine(db_string, echo=echo)
+def initialize_sql(db_string, db_echo=False):
+ engine = create_engine(db_string, echo=db_echo)
DBSession.configure(bind=engine)
- metadata.bind = engine
- metadata.create_all(engine)
+ Base.metadata.bind = engine
+ Base.metadata.create_all(engine)
try:
populate()
except IntegrityError:
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/run.py b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/run.py
index 8e1249eab..47eb79e87 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/run.py
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/run.py
@@ -1,4 +1,5 @@
from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
from tutorial.models import initialize_sql
@@ -8,13 +9,15 @@ def app(global_config, **settings):
It is usually called by the PasteDeploy framework during
``paster serve``.
"""
+ zcml_file = settings.get('configure_zcml', 'configure.zcml')
db_string = settings.get('db_string')
if db_string is None:
- raise ValueError("No 'db_string' value in application "
- "configuration.")
- initialize_sql(db_string)
+ raise ValueError("No 'db_string' value in application configuration.")
+ db_echo = settings.get('db_echo', 'false')
+ initialize_sql(db_string, asbool(db_echo))
config = Configurator(settings=settings)
config.begin()
- config.load_zcml('configure.zcml')
+ config.load_zcml(zcml_file)
config.end()
return config.make_wsgi_app()
+
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/templates/mytemplate.pt b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/templates/mytemplate.pt
index 767252554..2aedcad9f 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/templates/mytemplate.pt
@@ -48,31 +48,31 @@
<h2><code>repoze.bfg</code> links</h2>
<ul>
<li><a
- href="http://docs.repoze.org/bfg/#narrative-documentation">Narrative
+ href="http://docs.repoze.org/bfg/current/#narrative-documentation">Narrative
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#api-documentation">API
+ href="http://docs.repoze.org/bfg/current/#api-documentation">API
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#tutorials">Tutorials</a>
+ href="http://docs.repoze.org/bfg/current/#tutorials">Tutorials</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#change-history">Change
+ href="http://docs.repoze.org/bfg/current/#change-history">Change
History</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#sample-applications">Sample
+ href="http://docs.repoze.org/bfg/current/#sample-applications">Sample
Applications</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#support-and-development">Support
+ href="http://docs.repoze.org/bfg/current/#support-and-development">Support
and Development</a>
</li>
<li>
diff --git a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/views.py b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/views.py
index dfb628269..e550e3257 100644
--- a/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/views.py
+++ b/docs/tutorials/bfgwiki2/src/basiclayout/tutorial/views.py
@@ -1,7 +1,7 @@
from tutorial.models import DBSession
-from tutorial.models import Model
+from tutorial.models import MyModel
def my_view(request):
dbsession = DBSession()
- root = dbsession.query(Model).filter(Model.name==u'root').first()
+ root = dbsession.query(MyModel).filter(MyModel.name==u'root').first()
return {'root':root, 'project':'tutorial'}
diff --git a/docs/tutorials/bfgwiki2/src/models/CHANGES.txt b/docs/tutorials/bfgwiki2/src/models/CHANGES.txt
index e14f633ab..35a34f332 100644
--- a/docs/tutorials/bfgwiki2/src/models/CHANGES.txt
+++ b/docs/tutorials/bfgwiki2/src/models/CHANGES.txt
@@ -1,5 +1,4 @@
0.0
---
-- Initial version
-
+- Initial version
diff --git a/docs/tutorials/bfgwiki2/src/models/setup.cfg b/docs/tutorials/bfgwiki2/src/models/setup.cfg
index 56fe3be14..23b2ad983 100644
--- a/docs/tutorials/bfgwiki2/src/models/setup.cfg
+++ b/docs/tutorials/bfgwiki2/src/models/setup.cfg
@@ -1,8 +1,27 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
-
[nosetests]
+match=^test
nocapture=1
cover-package=tutorial
with-coverage=1
cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki2/src/models/setup.py b/docs/tutorials/bfgwiki2/src/models/setup.py
index 764e8c0ea..fae50a1ee 100644
--- a/docs/tutorials/bfgwiki2/src/models/setup.py
+++ b/docs/tutorials/bfgwiki2/src/models/setup.py
@@ -13,7 +13,6 @@ requires = [
'transaction',
'repoze.tm2',
'zope.sqlalchemy',
- 'docutils'
]
if sys.version_info[:3] < (2,5,0):
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial.ini b/docs/tutorials/bfgwiki2/src/models/tutorial.ini
index 1f8a5ccce..73b5ed9a4 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial.ini
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial.ini
@@ -1,17 +1,20 @@
[DEFAULT]
debug = true
-[app:sql]
+[app:sqlalchemy]
use = egg:tutorial#app
reload_templates = true
debug_authorization = false
debug_notfound = false
+debug_templates = true
+default_locale_name = en
db_string = sqlite:///%(here)s/tutorial.db
+db_echo = false
[pipeline:main]
pipeline =
egg:repoze.tm2#tm
- sql
+ sqlalchemy
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial/configure.zcml b/docs/tutorials/bfgwiki2/src/models/tutorial/configure.zcml
index f04eec9b4..6d16bd089 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial/configure.zcml
@@ -3,7 +3,7 @@
<!-- this must be included for the view declarations to work -->
<include package="repoze.bfg.includes" />
- <route
+ <route
pattern=""
name="home"
view=".views.my_view"
@@ -11,8 +11,8 @@
/>
<static
- pattern="templates/static"
name="static"
+ path="templates/static"
/>
</configure>
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial/models.py b/docs/tutorials/bfgwiki2/src/models/tutorial/models.py
index 0d062e01f..ec9d2b25c 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial/models.py
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial/models.py
@@ -6,16 +6,14 @@ from sqlalchemy import Integer
from sqlalchemy import Text
from sqlalchemy.exc import IntegrityError
+from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
-from sqlalchemy.ext.declarative import declarative_base
-
from zope.sqlalchemy import ZopeTransactionExtension
-DBSession = scoped_session(
- sessionmaker(extension=ZopeTransactionExtension()))
+DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
class Page(Base):
@@ -29,8 +27,8 @@ class Page(Base):
self.name = name
self.data = data
-def initialize_sql(db, echo=False):
- engine = create_engine(db, echo=echo)
+def initialize_sql(db_string, echo=False):
+ engine = create_engine(db_string, echo=echo)
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.create_all(engine)
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial/run.py b/docs/tutorials/bfgwiki2/src/models/tutorial/run.py
index 8e1249eab..47eb79e87 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial/run.py
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial/run.py
@@ -1,4 +1,5 @@
from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
from tutorial.models import initialize_sql
@@ -8,13 +9,15 @@ def app(global_config, **settings):
It is usually called by the PasteDeploy framework during
``paster serve``.
"""
+ zcml_file = settings.get('configure_zcml', 'configure.zcml')
db_string = settings.get('db_string')
if db_string is None:
- raise ValueError("No 'db_string' value in application "
- "configuration.")
- initialize_sql(db_string)
+ raise ValueError("No 'db_string' value in application configuration.")
+ db_echo = settings.get('db_echo', 'false')
+ initialize_sql(db_string, asbool(db_echo))
config = Configurator(settings=settings)
config.begin()
- config.load_zcml('configure.zcml')
+ config.load_zcml(zcml_file)
config.end()
return config.make_wsgi_app()
+
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial/templates/mytemplate.pt b/docs/tutorials/bfgwiki2/src/models/tutorial/templates/mytemplate.pt
index 767252554..2aedcad9f 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial/templates/mytemplate.pt
@@ -48,31 +48,31 @@
<h2><code>repoze.bfg</code> links</h2>
<ul>
<li><a
- href="http://docs.repoze.org/bfg/#narrative-documentation">Narrative
+ href="http://docs.repoze.org/bfg/current/#narrative-documentation">Narrative
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#api-documentation">API
+ href="http://docs.repoze.org/bfg/current/#api-documentation">API
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#tutorials">Tutorials</a>
+ href="http://docs.repoze.org/bfg/current/#tutorials">Tutorials</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#change-history">Change
+ href="http://docs.repoze.org/bfg/current/#change-history">Change
History</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#sample-applications">Sample
+ href="http://docs.repoze.org/bfg/current/#sample-applications">Sample
Applications</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#support-and-development">Support
+ href="http://docs.repoze.org/bfg/current/#support-and-development">Support
and Development</a>
</li>
<li>
diff --git a/docs/tutorials/bfgwiki2/src/models/tutorial/views.py b/docs/tutorials/bfgwiki2/src/models/tutorial/views.py
index dfb628269..e550e3257 100644
--- a/docs/tutorials/bfgwiki2/src/models/tutorial/views.py
+++ b/docs/tutorials/bfgwiki2/src/models/tutorial/views.py
@@ -1,7 +1,7 @@
from tutorial.models import DBSession
-from tutorial.models import Model
+from tutorial.models import MyModel
def my_view(request):
dbsession = DBSession()
- root = dbsession.query(Model).filter(Model.name==u'root').first()
+ root = dbsession.query(MyModel).filter(MyModel.name==u'root').first()
return {'root':root, 'project':'tutorial'}
diff --git a/docs/tutorials/bfgwiki2/src/views/CHANGES.txt b/docs/tutorials/bfgwiki2/src/views/CHANGES.txt
index e14f633ab..35a34f332 100644
--- a/docs/tutorials/bfgwiki2/src/views/CHANGES.txt
+++ b/docs/tutorials/bfgwiki2/src/views/CHANGES.txt
@@ -1,5 +1,4 @@
0.0
---
-- Initial version
-
+- Initial version
diff --git a/docs/tutorials/bfgwiki2/src/views/setup.cfg b/docs/tutorials/bfgwiki2/src/views/setup.cfg
index 56fe3be14..23b2ad983 100644
--- a/docs/tutorials/bfgwiki2/src/views/setup.cfg
+++ b/docs/tutorials/bfgwiki2/src/views/setup.cfg
@@ -1,8 +1,27 @@
-[easy_install]
-index_url = http://dist.repoze.org/bfgsite/simple
-
[nosetests]
+match=^test
nocapture=1
cover-package=tutorial
with-coverage=1
cover-erase=1
+
+[compile_catalog]
+directory = tutorial/locale
+domain = tutorial
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = tutorial/locale/tutorial.pot
+width = 80
+
+[init_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+
+[update_catalog]
+domain = tutorial
+input_file = tutorial/locale/tutorial.pot
+output_dir = tutorial/locale
+previous = true
diff --git a/docs/tutorials/bfgwiki2/src/views/tutorial.ini b/docs/tutorials/bfgwiki2/src/views/tutorial.ini
index d89616316..85f131c2e 100644
--- a/docs/tutorials/bfgwiki2/src/views/tutorial.ini
+++ b/docs/tutorials/bfgwiki2/src/views/tutorial.ini
@@ -1,18 +1,21 @@
[DEFAULT]
debug = true
-[app:sql]
+[app:sqlalchemy]
use = egg:tutorial#app
reload_templates = true
debug_authorization = false
debug_notfound = false
+debug_templates = true
+default_locale_name = en
db_string = sqlite:///%(here)s/tutorial.db
+db_echo = false
[pipeline:main]
pipeline =
egg:Paste#evalerror
egg:repoze.tm2#tm
- sql
+ sqlalchemy
[server:main]
use = egg:Paste#http
diff --git a/docs/tutorials/bfgwiki2/src/views/tutorial/configure.zcml b/docs/tutorials/bfgwiki2/src/views/tutorial/configure.zcml
index f86468186..7b3f73b4e 100644
--- a/docs/tutorials/bfgwiki2/src/views/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki2/src/views/tutorial/configure.zcml
@@ -4,7 +4,7 @@
<include package="repoze.bfg.includes" />
<static
- pattern="templates/static"
+ path="templates/static"
name="static"
/>
diff --git a/docs/tutorials/bfgwiki2/src/views/tutorial/models.py b/docs/tutorials/bfgwiki2/src/views/tutorial/models.py
index 3e63c3734..ec9d2b25c 100644
--- a/docs/tutorials/bfgwiki2/src/views/tutorial/models.py
+++ b/docs/tutorials/bfgwiki2/src/views/tutorial/models.py
@@ -6,12 +6,11 @@ from sqlalchemy import Integer
from sqlalchemy import Text
from sqlalchemy.exc import IntegrityError
+from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session
from sqlalchemy.orm import sessionmaker
-from sqlalchemy.ext.declarative import declarative_base
-
from zope.sqlalchemy import ZopeTransactionExtension
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
@@ -28,8 +27,8 @@ class Page(Base):
self.name = name
self.data = data
-def initialize_sql(db, echo=False):
- engine = create_engine(db, echo=echo)
+def initialize_sql(db_string, echo=False):
+ engine = create_engine(db_string, echo=echo)
DBSession.configure(bind=engine)
Base.metadata.bind = engine
Base.metadata.create_all(engine)
diff --git a/docs/tutorials/bfgwiki2/src/views/tutorial/run.py b/docs/tutorials/bfgwiki2/src/views/tutorial/run.py
index 8e1249eab..47eb79e87 100644
--- a/docs/tutorials/bfgwiki2/src/views/tutorial/run.py
+++ b/docs/tutorials/bfgwiki2/src/views/tutorial/run.py
@@ -1,4 +1,5 @@
from repoze.bfg.configuration import Configurator
+from paste.deploy.converters import asbool
from tutorial.models import initialize_sql
@@ -8,13 +9,15 @@ def app(global_config, **settings):
It is usually called by the PasteDeploy framework during
``paster serve``.
"""
+ zcml_file = settings.get('configure_zcml', 'configure.zcml')
db_string = settings.get('db_string')
if db_string is None:
- raise ValueError("No 'db_string' value in application "
- "configuration.")
- initialize_sql(db_string)
+ raise ValueError("No 'db_string' value in application configuration.")
+ db_echo = settings.get('db_echo', 'false')
+ initialize_sql(db_string, asbool(db_echo))
config = Configurator(settings=settings)
config.begin()
- config.load_zcml('configure.zcml')
+ config.load_zcml(zcml_file)
config.end()
return config.make_wsgi_app()
+
diff --git a/docs/tutorials/bfgwiki2/src/views/tutorial/templates/mytemplate.pt b/docs/tutorials/bfgwiki2/src/views/tutorial/templates/mytemplate.pt
index 767252554..2aedcad9f 100644
--- a/docs/tutorials/bfgwiki2/src/views/tutorial/templates/mytemplate.pt
+++ b/docs/tutorials/bfgwiki2/src/views/tutorial/templates/mytemplate.pt
@@ -48,31 +48,31 @@
<h2><code>repoze.bfg</code> links</h2>
<ul>
<li><a
- href="http://docs.repoze.org/bfg/#narrative-documentation">Narrative
+ href="http://docs.repoze.org/bfg/current/#narrative-documentation">Narrative
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#api-documentation">API
+ href="http://docs.repoze.org/bfg/current/#api-documentation">API
Documentation</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#tutorials">Tutorials</a>
+ href="http://docs.repoze.org/bfg/current/#tutorials">Tutorials</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#change-history">Change
+ href="http://docs.repoze.org/bfg/current/#change-history">Change
History</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#sample-applications">Sample
+ href="http://docs.repoze.org/bfg/current/#sample-applications">Sample
Applications</a>
</li>
<li>
<a
- href="http://docs.repoze.org/bfg/#support-and-development">Support
+ href="http://docs.repoze.org/bfg/current/#support-and-development">Support
and Development</a>
</li>
<li>