From a6f3da6731597cb71d15d3fb9925bafa449e8e6b Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 18 Aug 2018 18:13:55 -0700 Subject: Clean up code-blocks in tutorials/wiki2/basiclayout --- docs/tutorials/wiki2/basiclayout.rst | 118 +++++++++++++++++------------------ 1 file changed, 59 insertions(+), 59 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/basiclayout.rst b/docs/tutorials/wiki2/basiclayout.rst index 233231f8d..313b5998e 100644 --- a/docs/tutorials/wiki2/basiclayout.rst +++ b/docs/tutorials/wiki2/basiclayout.rst @@ -21,24 +21,24 @@ code. Open ``tutorial/__init__.py``. It should already contain the following: .. literalinclude:: src/basiclayout/tutorial/__init__.py - :linenos: - :language: py + :linenos: + :language: py Let's go over this piece-by-piece. First we need some imports to support later code: .. literalinclude:: src/basiclayout/tutorial/__init__.py - :end-before: main - :lineno-match: - :language: py + :end-before: main + :lineno-match: + :language: py ``__init__.py`` defines a function named ``main``. Here is the entirety of the ``main`` function we've defined in our ``__init__.py``: .. literalinclude:: src/basiclayout/tutorial/__init__.py - :pyobject: main - :lineno-match: - :language: py + :pyobject: main + :lineno-match: + :language: py When you invoke the ``pserve development.ini`` command, the ``main`` function above is executed. It accepts some settings and returns a :term:`WSGI` @@ -47,9 +47,9 @@ application. (See :ref:`startup_chapter` for more about ``pserve``.) Next in ``main``, construct a :term:`Configurator` object: .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 7 - :lineno-match: - :language: py + :lines: 7 + :lineno-match: + :language: py ``settings`` is passed to the ``Configurator`` as a keyword argument with the dictionary values passed as the ``**settings`` argument. This will be a @@ -61,25 +61,25 @@ Next include :term:`Jinja2` templating bindings so that we can use renderers with the ``.jinja2`` extension within our project. .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 8 - :lineno-match: - :language: py + :lines: 8 + :lineno-match: + :language: py Next include the the package ``models`` using a dotted Python path. The exact setup of the models will be covered later. .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 9 - :lineno-match: - :language: py + :lines: 9 + :lineno-match: + :language: py Next include the ``routes`` module using a dotted Python path. This module will be explained in the next section. .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 10 - :lineno-match: - :language: py + :lines: 10 + :lineno-match: + :language: py .. note:: @@ -95,18 +95,18 @@ will be registered, allowing one of our application URLs to be mapped to some code. .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 11 - :lineno-match: - :language: py + :lines: 11 + :lineno-match: + :language: py Finally ``main`` is finished configuring things, so it uses the :meth:`pyramid.config.Configurator.make_wsgi_app` method to return a :term:`WSGI` application: .. literalinclude:: src/basiclayout/tutorial/__init__.py - :lines: 12 - :lineno-match: - :language: py + :lines: 12 + :lineno-match: + :language: py Route declarations @@ -115,8 +115,8 @@ Route declarations Open the ``tutorial/routes.py`` file. It should already contain the following: .. literalinclude:: src/basiclayout/tutorial/routes.py - :linenos: - :language: py + :linenos: + :language: py On line 2, we call :meth:`pyramid.config.Configurator.add_static_view` with three arguments: ``static`` (the name), ``static`` (the path), and @@ -151,8 +151,8 @@ Open ``tutorial/views/default.py`` in the ``views`` package. It should already contain the following: .. literalinclude:: src/basiclayout/tutorial/views/default.py - :linenos: - :language: py + :linenos: + :language: py The important part here is that the ``@view_config`` decorator associates the function it decorates (``my_view``) with a :term:`view configuration`, @@ -195,17 +195,17 @@ First, open ``tutorial/models/meta.py``, which should already contain the following: .. literalinclude:: src/basiclayout/tutorial/models/meta.py - :linenos: - :language: py + :linenos: + :language: py ``meta.py`` contains imports and support code for defining the models. We create a dictionary ``NAMING_CONVENTION`` as well for consistent naming of support objects like indices and constraints. .. literalinclude:: src/basiclayout/tutorial/models/meta.py - :end-before: metadata - :linenos: - :language: py + :end-before: metadata + :linenos: + :language: py Next we create a ``metadata`` object from the class :class:`sqlalchemy.schema.MetaData`, using ``NAMING_CONVENTION`` as the value @@ -218,25 +218,25 @@ will attach the tables to the ``metadata`` we created, and define our application's database schema. .. literalinclude:: src/basiclayout/tutorial/models/meta.py - :lines: 15-16 - :lineno-match: - :language: py + :lines: 15-16 + :lineno-match: + :language: py Next open ``tutorial/models/mymodel.py``, which should already contain the following: .. literalinclude:: src/basiclayout/tutorial/models/mymodel.py - :linenos: - :language: py + :linenos: + :language: py Notice we've defined the ``models`` as a package to make it straightforward for defining models in separate modules. To give a simple example of a model class, we have defined one named ``MyModel`` in ``mymodel.py``: .. literalinclude:: src/basiclayout/tutorial/models/mymodel.py - :pyobject: MyModel - :lineno-match: - :language: py + :pyobject: MyModel + :lineno-match: + :language: py Our example model does not require an ``__init__`` method because SQLAlchemy supplies for us a default constructor, if one is not already present, which @@ -244,9 +244,9 @@ accepts keyword arguments of the same name as that of the mapped attributes. .. note:: Example usage of MyModel: - .. code-block:: python + .. code-block:: python - johnny = MyModel(name="John Doe", value=10) + johnny = MyModel(name="John Doe", value=10) The ``MyModel`` class has a ``__tablename__`` attribute. This informs SQLAlchemy which table to use to store the data representing instances of this @@ -256,8 +256,8 @@ Finally, open ``tutorial/models/__init__.py``, which should already contain the following: .. literalinclude:: src/basiclayout/tutorial/models/__init__.py - :linenos: - :language: py + :linenos: + :language: py Our ``models/__init__.py`` module defines the primary API we will use for configuring the database connections within our application, and it contains @@ -286,9 +286,9 @@ database engine using :func:`sqlalchemy.engine_from_config` from the ``[app:main]`` section. This setting is a URI (something like ``sqlite://``). .. literalinclude:: src/basiclayout/tutorial/models/__init__.py - :pyobject: get_engine - :lineno-match: - :language: py + :pyobject: get_engine + :lineno-match: + :language: py The function ``get_session_factory`` accepts an :term:`SQLAlchemy` database engine, and creates a ``session_factory`` from the :term:`SQLAlchemy` class @@ -296,9 +296,9 @@ engine, and creates a ``session_factory`` from the :term:`SQLAlchemy` class used for creating sessions bound to the database engine. .. literalinclude:: src/basiclayout/tutorial/models/__init__.py - :pyobject: get_session_factory - :lineno-match: - :language: py + :pyobject: get_session_factory + :lineno-match: + :language: py The function ``get_tm_session`` registers a database session with a transaction manager, and returns a ``dbsession`` object. With the transaction manager, our @@ -306,9 +306,9 @@ application will automatically issue a transaction commit after every request, unless an exception is raised, in which case the transaction will be aborted. .. literalinclude:: src/basiclayout/tutorial/models/__init__.py - :pyobject: get_tm_session - :lineno-match: - :language: py + :pyobject: get_tm_session + :lineno-match: + :language: py Finally, we define an ``includeme`` function, which is a hook for use with :meth:`pyramid.config.Configurator.include` to activate code in a Pyramid @@ -319,9 +319,9 @@ define a ``request.dbsession`` property, which we can use to do work on behalf of an incoming request to our application. .. literalinclude:: src/basiclayout/tutorial/models/__init__.py - :pyobject: includeme - :lineno-match: - :language: py + :pyobject: includeme + :lineno-match: + :language: py That's about all there is to it regarding models, views, and initialization code in our stock application. -- cgit v1.2.3 From 54f69cb5cc8000f47ac67e46bc9dd06ef8cf8a95 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 18 Aug 2018 18:15:42 -0700 Subject: Clean up code-blocks in tutorials/wiki2/definingmodels --- docs/tutorials/wiki2/definingmodels.rst | 44 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/definingmodels.rst b/docs/tutorials/wiki2/definingmodels.rst index c22fd2b61..d0674e283 100644 --- a/docs/tutorials/wiki2/definingmodels.rst +++ b/docs/tutorials/wiki2/definingmodels.rst @@ -32,9 +32,9 @@ parameter in the ``setup()`` function. Open ``tutorial/setup.py`` and edit it to look like the following: .. literalinclude:: src/models/setup.py - :linenos: - :emphasize-lines: 13 - :language: python + :linenos: + :emphasize-lines: 13 + :language: python Only the highlighted line needs to be added. @@ -57,13 +57,13 @@ On UNIX: .. code-block:: bash - $ $VENV/bin/pip install -e . + $VENV/bin/pip install -e . On Windows: .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\pip install -e . + %VENV%\Scripts\pip install -e . Success executing this command will end with a line to the console something like the following. @@ -86,8 +86,8 @@ Add ``user.py`` Create a new file ``tutorial/models/user.py`` with the following contents: .. literalinclude:: src/models/tutorial/models/user.py - :linenos: - :language: py + :linenos: + :language: py This is a very basic model for a user who can authenticate with our wiki. @@ -125,8 +125,8 @@ Add ``page.py`` Create a new file ``tutorial/models/page.py`` with the following contents: .. literalinclude:: src/models/tutorial/models/page.py - :linenos: - :language: py + :linenos: + :language: py As you can see, our ``Page`` class is very similar to the ``User`` defined above, except with attributes focused on storing information about a wiki page, @@ -151,9 +151,9 @@ Open the ``tutorial/models/__init__.py`` file and edit it to look like the following: .. literalinclude:: src/models/tutorial/models/__init__.py - :linenos: - :language: py - :emphasize-lines: 8,9 + :linenos: + :language: py + :emphasize-lines: 8,9 Here we align our imports with the names of the models, ``Page`` and ``User``. @@ -169,17 +169,17 @@ On UNIX: .. code-block:: bash - $ $VENV/bin/alembic -c development.ini revision --autogenerate \ - -m "use new models Page and User" - $ $VENV/bin/alembic -c development.ini upgrade head + $VENV/bin/alembic -c development.ini revision --autogenerate \ + -m "use new models Page and User" + $VENV/bin/alembic -c development.ini upgrade head On Windows: .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\alembic -c development.ini revision \ - --autogenerate -m "use new models Page and User" - c:\tutorial> %VENV%\Scripts\alembic -c development.ini upgrade head + %VENV%\Scripts\alembic -c development.ini revision \ + --autogenerate -m "use new models Page and User" + %VENV%\Scripts\alembic -c development.ini upgrade head Success executing these commands will generate output similar to the following. @@ -308,9 +308,9 @@ Open ``tutorial/scripts/initialize_db.py`` and edit it to look like the following: .. literalinclude:: src/models/tutorial/scripts/initialize_db.py - :linenos: - :language: python - :emphasize-lines: 11-24 + :linenos: + :language: python + :emphasize-lines: 11-24 Only the highlighted lines need to be changed. @@ -351,6 +351,6 @@ your console that ends with this exception: .. code-block:: text - AttributeError: module 'tutorial.models' has no attribute 'MyModel' + AttributeError: module 'tutorial.models' has no attribute 'MyModel' This will also happen if you attempt to run the tests. -- cgit v1.2.3 From 72415c196ac02600e24f90d641512ed4216b94f5 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 18 Aug 2018 18:16:06 -0700 Subject: Clean up code-blocks in tutorials/wiki2/distributing --- docs/tutorials/wiki2/distributing.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/distributing.rst b/docs/tutorials/wiki2/distributing.rst index d296363ed..e558748d4 100644 --- a/docs/tutorials/wiki2/distributing.rst +++ b/docs/tutorials/wiki2/distributing.rst @@ -13,23 +13,23 @@ On UNIX: .. code-block:: bash - $ $VENV/bin/python setup.py sdist + $VENV/bin/python setup.py sdist On Windows: .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\python setup.py sdist + %VENV%\Scripts\python setup.py sdist The output of such a command will be something like: .. code-block:: text - running sdist - # more output - creating dist - Creating tar archive - removing 'tutorial-0.0' (and everything under it) + running sdist + # more output + creating dist + Creating tar archive + removing 'tutorial-0.0' (and everything under it) Note that this command creates a tarball in the ``dist`` subdirectory named ``tutorial-0.0.tar.gz``. You can send this file to your friends to show them -- cgit v1.2.3 From dc1071af60355462a0cfe690ea4f0c11b8efe16a Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 18 Aug 2018 18:26:51 -0700 Subject: Clean up code-blocks in tutorials/wiki2/installation --- docs/tutorials/wiki2/installation.rst | 194 +++++++++++++++++----------------- 1 file changed, 97 insertions(+), 97 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/installation.rst b/docs/tutorials/wiki2/installation.rst index 9b89327cb..581ec7f09 100644 --- a/docs/tutorials/wiki2/installation.rst +++ b/docs/tutorials/wiki2/installation.rst @@ -24,7 +24,7 @@ If you need to install the SQLite3 packages, then, for example, using the Debian .. code-block:: bash - $ sudo apt-get install libsqlite3-dev + sudo apt-get install libsqlite3-dev Install cookiecutter @@ -42,16 +42,16 @@ On UNIX .. code-block:: bash - $ cd ~ - $ cookiecutter gh:Pylons/pyramid-cookiecutter-alchemy --checkout master + cd ~ + cookiecutter gh:Pylons/pyramid-cookiecutter-alchemy --checkout master On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\> cd \ - c:\> cookiecutter gh:Pylons/pyramid-cookiecutter-alchemy --checkout master + cd \ + cookiecutter gh:Pylons/pyramid-cookiecutter-alchemy --checkout master On all operating systems ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -72,14 +72,14 @@ On UNIX .. code-block:: bash - $ cd tutorial + cd tutorial On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\> cd tutorial + cd tutorial Set and use a ``VENV`` environment variable @@ -92,14 +92,14 @@ On UNIX .. code-block:: bash - $ export VENV=~/tutorial + export VENV=~/tutorial On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> set VENV=c:\tutorial + set VENV=c:\tutorial Create a virtual environment @@ -110,7 +110,7 @@ On UNIX .. code-block:: bash - $ python3 -m venv $VENV + python3 -m venv $VENV On Windows ^^^^^^^^^^ @@ -121,13 +121,13 @@ Python 2.7: .. code-block:: doscon - c:\tutorial> c:\Python27\Scripts\virtualenv %VENV% + c:\Python27\Scripts\virtualenv %VENV% Python 3.6: .. code-block:: doscon - c:\tutorial> python -m venv %VENV% + python -m venv %VENV% Upgrade packaging tools in the virtual environment @@ -138,14 +138,14 @@ On UNIX .. code-block:: bash - $ $VENV/bin/pip install --upgrade pip setuptools + $VENV/bin/pip install --upgrade pip setuptools On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\pip install --upgrade pip setuptools + %VENV%\Scripts\pip install --upgrade pip setuptools .. _installing_project_in_dev_mode: @@ -160,14 +160,14 @@ On UNIX .. code-block:: bash - $ $VENV/bin/pip install -e ".[testing]" + $VENV/bin/pip install -e ".[testing]" On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\pip install -e ".[testing]" + %VENV%\Scripts\pip install -e ".[testing]" On all operating systems ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,14 +188,14 @@ The console will show ``pip`` checking for packages and installing missing packa Testing requirements are defined in our project's ``setup.py`` file, in the ``tests_require`` and ``extras_require`` stanzas. .. literalinclude:: src/installation/setup.py - :language: python - :lineno-match: - :lines: 24-28 + :language: python + :lineno-match: + :lines: 24-28 .. literalinclude:: src/installation/setup.py - :language: python - :lineno-match: - :lines: 48-50 + :language: python + :lineno-match: + :lines: 48-50 .. _initialize_db_wiki2: @@ -212,38 +212,38 @@ On UNIX .. code-block:: bash - $ $VENV/bin/alembic -c development.ini revision --autogenerate -m "init" + $VENV/bin/alembic -c development.ini revision --autogenerate -m "init" On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\alembic -c development.ini revision --autogenerate -m "init" + %VENV%\Scripts\alembic -c development.ini revision --autogenerate -m "init" The output to your console should be something like this: .. code-block:: text - 2018-06-22 17:57:31,587 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:31,587 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:31,588 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:31,588 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:31,589 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") - 2018-06-22 17:57:31,589 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") - 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] - CREATE TABLE alembic_version ( + 2018-06-22 17:57:31,587 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:31,587 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:31,588 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:31,588 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:31,589 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") + 2018-06-22 17:57:31,589 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") + 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:31,590 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] + CREATE TABLE alembic_version ( version_num VARCHAR(32) NOT NULL, CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num) - ) + ) - 2018-06-22 17:57:31,591 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:31,591 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT - 2018-06-22 17:57:31,594 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] SELECT name FROM sqlite_master WHERE type='table' ORDER BY name - 2018-06-22 17:57:31,594 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:31,591 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:31,591 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT + 2018-06-22 17:57:31,594 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] SELECT name FROM sqlite_master WHERE type='table' ORDER BY name + 2018-06-22 17:57:31,594 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () Generating //tutorial/alembic/versions/20180622_bab5a278ce04.py ... done Upgrade to that revision. @@ -253,47 +253,47 @@ On UNIX .. code-block:: bash - $ $VENV/bin/alembic -c development.ini upgrade head + $VENV/bin/alembic -c development.ini upgrade head On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\alembic -c development.ini upgrade head + %VENV%\Scripts\alembic -c development.ini upgrade head The output to your console should be something like this: .. code-block:: text - 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:37,816 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") - 2018-06-22 17:57:37,816 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] SELECT alembic_version.version_num - FROM alembic_version - 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") - 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,819 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] - CREATE TABLE models ( + 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:37,814 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:37,816 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") + 2018-06-22 17:57:37,816 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] SELECT alembic_version.version_num + FROM alembic_version + 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] PRAGMA table_info("alembic_version") + 2018-06-22 17:57:37,817 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,819 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] + CREATE TABLE models ( id INTEGER NOT NULL, name TEXT, value INTEGER, CONSTRAINT pk_models PRIMARY KEY (id) - ) + ) - 2018-06-22 17:57:37,820 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,822 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT - 2018-06-22 17:57:37,824 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] CREATE UNIQUE INDEX my_index ON models (name) - 2018-06-22 17:57:37,824 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT - 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] INSERT INTO alembic_version (version_num) VALUES ('bab5a278ce04') - 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () - 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT + 2018-06-22 17:57:37,820 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,822 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT + 2018-06-22 17:57:37,824 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] CREATE UNIQUE INDEX my_index ON models (name) + 2018-06-22 17:57:37,824 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT + 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] INSERT INTO alembic_version (version_num) VALUES ('bab5a278ce04') + 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] () + 2018-06-22 17:57:37,825 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT .. _load_data_wiki2: @@ -308,27 +308,27 @@ On UNIX .. code-block:: bash - $ $VENV/bin/initialize_tutorial_db development.ini + $VENV/bin/initialize_tutorial_db development.ini On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\initialize_tutorial_db development.ini + %VENV%\Scripts\initialize_tutorial_db development.ini The output to your console should be something like this: .. code-block:: bash - 2018-06-22 17:57:46,241 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:46,241 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:46,242 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 - 2018-06-22 17:57:46,242 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () - 2018-06-22 17:57:46,243 INFO [sqlalchemy.engine.base.Engine:682][MainThread] BEGIN (implicit) - 2018-06-22 17:57:46,244 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] INSERT INTO models (name, value) VALUES (?, ?) - 2018-06-22 17:57:46,245 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] ('one', 1) - 2018-06-22 17:57:46,246 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT + 2018-06-22 17:57:46,241 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:46,241 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:46,242 INFO [sqlalchemy.engine.base.Engine:1254][MainThread] SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 + 2018-06-22 17:57:46,242 INFO [sqlalchemy.engine.base.Engine:1255][MainThread] () + 2018-06-22 17:57:46,243 INFO [sqlalchemy.engine.base.Engine:682][MainThread] BEGIN (implicit) + 2018-06-22 17:57:46,244 INFO [sqlalchemy.engine.base.Engine:1151][MainThread] INSERT INTO models (name, value) VALUES (?, ?) + 2018-06-22 17:57:46,245 INFO [sqlalchemy.engine.base.Engine:1154][MainThread] ('one', 1) + 2018-06-22 17:57:46,246 INFO [sqlalchemy.engine.base.Engine:722][MainThread] COMMIT Success! You should now have a ``tutorial.sqlite`` file in your current working directory. This is an SQLite database with a single table defined in it @@ -350,21 +350,21 @@ On UNIX .. code-block:: bash - $ $VENV/bin/py.test -q + $VENV/bin/py.test -q On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\py.test -q + %VENV%\Scripts\py.test -q For a successful test run, you should see output that ends like this: .. code-block:: bash - .. - 2 passed in 0.44 seconds + .. + 2 passed in 0.44 seconds Expose test coverage information @@ -383,14 +383,14 @@ On UNIX .. code-block:: bash - $ $VENV/bin/py.test --cov --cov-report=term-missing + $VENV/bin/py.test --cov --cov-report=term-missing On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\py.test --cov --cov-report=term-missing + c:\tutorial> %VENV%\Scripts\py.test --cov --cov-report=term-missing If successful, you will see output something like this: @@ -404,20 +404,20 @@ If successful, you will see output something like this: tutorial/tests.py .. ------------------ coverage: platform Python 3.6.5 ------------------ - Name Stmts Miss Cover Missing - ----------------------------------------------------------------- - tutorial/__init__.py 8 6 25% 7-12 - tutorial/models/__init__.py 24 0 100% - tutorial/models/meta.py 5 0 100% - tutorial/models/mymodel.py 8 0 100% - tutorial/routes.py 3 3 0% 1-3 - tutorial/scripts/__init__.py 0 0 100% - tutorial/scripts/initialize_db.py 24 24 0% 1-34 - tutorial/views/__init__.py 0 0 100% - tutorial/views/default.py 12 0 100% - tutorial/views/notfound.py 4 4 0% 1-7 - ----------------------------------------------------------------- - TOTAL 88 37 58% + Name Stmts Miss Cover Missing + ----------------------------------------------------------------- + tutorial/__init__.py 8 6 25% 7-12 + tutorial/models/__init__.py 24 0 100% + tutorial/models/meta.py 5 0 100% + tutorial/models/mymodel.py 8 0 100% + tutorial/routes.py 3 3 0% 1-3 + tutorial/scripts/__init__.py 0 0 100% + tutorial/scripts/initialize_db.py 24 24 0% 1-34 + tutorial/views/__init__.py 0 0 100% + tutorial/views/default.py 12 0 100% + tutorial/views/notfound.py 4 4 0% 1-7 + ----------------------------------------------------------------- + TOTAL 88 37 58% ===================== 2 passed in 0.57 seconds ====================== @@ -439,14 +439,14 @@ On UNIX .. code-block:: bash - $ $VENV/bin/py.test --cov=tutorial tutorial/tests.py -q + $VENV/bin/py.test --cov=tutorial tutorial/tests.py -q On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\py.test --cov=tutorial tutorial\tests.py -q + %VENV%\Scripts\py.test --cov=tutorial tutorial\tests.py -q py.test follows :ref:`conventions for Python test discovery `, and the configuration defaults from the cookiecutter @@ -470,14 +470,14 @@ On UNIX .. code-block:: bash - $ $VENV/bin/pserve development.ini --reload + $VENV/bin/pserve development.ini --reload On Windows ^^^^^^^^^^ .. code-block:: doscon - c:\tutorial> %VENV%\Scripts\pserve development.ini --reload + %VENV%\Scripts\pserve development.ini --reload .. note:: -- cgit v1.2.3 From 72eb0abbdb6b2c56c7b731edb7006416316b9790 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 18 Aug 2018 18:27:40 -0700 Subject: Clean up code-blocks in tutorials/wiki2/tests --- docs/tutorials/wiki2/tests.rst | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/tests.rst b/docs/tutorials/wiki2/tests.rst index 84b123df1..f856f837e 100644 --- a/docs/tutorials/wiki2/tests.rst +++ b/docs/tutorials/wiki2/tests.rst @@ -53,33 +53,32 @@ View the results of all our edits to ``tests`` subpackage Create ``tutorial/tests/test_views.py`` such that it appears as follows: .. literalinclude:: src/tests/tutorial/tests/test_views.py - :linenos: - :language: python + :linenos: + :language: python Create ``tutorial/tests/test_functional.py`` such that it appears as follows: .. literalinclude:: src/tests/tutorial/tests/test_functional.py - :linenos: - :language: python + :linenos: + :language: python Create ``tutorial/tests/test_initdb.py`` such that it appears as follows: .. literalinclude:: src/tests/tutorial/tests/test_initdb.py - :linenos: - :language: python + :linenos: + :language: python Create ``tutorial/tests/test_security.py`` such that it appears as follows: .. literalinclude:: src/tests/tutorial/tests/test_security.py - :linenos: - :language: python + :linenos: + :language: python Create ``tutorial/tests/test_user_model.py`` such that it appears as follows: .. literalinclude:: src/tests/tutorial/tests/test_user_model.py - :linenos: - :language: python - + :linenos: + :language: python .. note:: @@ -99,21 +98,21 @@ On UNIX: .. code-block:: bash - $ rm tutorial.sqlite - $ $VENV/bin/py.test -q + rm tutorial.sqlite + $VENV/bin/py.test -q On Windows: .. code-block:: doscon - c:\tutorial> del tutorial.sqlite - c:\tutorial> %VENV%\Scripts\py.test -q + del tutorial.sqlite + %VENV%\Scripts\py.test -q The expected result should look like the following: .. code-block:: text - ................................ - 32 passed in 9.90 seconds + ................................ + 32 passed in 9.90 seconds .. _webtest: https://docs.pylonsproject.org/projects/webtest/en/latest/ -- cgit v1.2.3 From 5af30057aa5528eaa277603ee717b7111c147a51 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 19 Aug 2018 00:36:46 -0700 Subject: Standardize Unix capitalization --- docs/tutorials/wiki2/background.rst | 2 +- docs/tutorials/wiki2/definingmodels.rst | 4 ++-- docs/tutorials/wiki2/distributing.rst | 2 +- docs/tutorials/wiki2/installation.rst | 28 ++++++++++++++-------------- docs/tutorials/wiki2/tests.rst | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/background.rst b/docs/tutorials/wiki2/background.rst index ee7dfe36f..ded6bc9c3 100644 --- a/docs/tutorials/wiki2/background.rst +++ b/docs/tutorials/wiki2/background.rst @@ -11,7 +11,7 @@ familiar to someone with SQL database experience. It uses URLs to code. It can also be followed by people without any prior Python web framework experience. -To code along with this tutorial, the developer will need a UNIX +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* a Windows system of any kind. diff --git a/docs/tutorials/wiki2/definingmodels.rst b/docs/tutorials/wiki2/definingmodels.rst index d0674e283..9159027c4 100644 --- a/docs/tutorials/wiki2/definingmodels.rst +++ b/docs/tutorials/wiki2/definingmodels.rst @@ -53,7 +53,7 @@ the newly added dependency distribution. Make sure your current working directory is the root of the project (the directory in which ``setup.py`` lives) and execute the following command. -On UNIX: +On Unix: .. code-block:: bash @@ -165,7 +165,7 @@ Migrate the database with Alembic Now that we have written our models, we need to modify the database schema to reflect the changes to our code. Let's generate a new revision, then upgrade the database to the latest revision (head). -On UNIX: +On Unix: .. code-block:: bash diff --git a/docs/tutorials/wiki2/distributing.rst b/docs/tutorials/wiki2/distributing.rst index e558748d4..0eff63461 100644 --- a/docs/tutorials/wiki2/distributing.rst +++ b/docs/tutorials/wiki2/distributing.rst @@ -9,7 +9,7 @@ using the ``setup.py sdist`` command. The following commands assume your current working directory contains the ``tutorial`` package and the ``setup.py`` file. -On UNIX: +On Unix: .. code-block:: bash diff --git a/docs/tutorials/wiki2/installation.rst b/docs/tutorials/wiki2/installation.rst index 581ec7f09..1fa7e21d7 100644 --- a/docs/tutorials/wiki2/installation.rst +++ b/docs/tutorials/wiki2/installation.rst @@ -35,9 +35,9 @@ We will use a :term:`cookiecutter` to create a Python package project from a Pyt Generate a Pyramid project from a cookiecutter ---------------------------------------------- -We will create a Pyramid project in your home directory for UNIX or at the root for Windows. It is assumed you know the path to where you installed ``cookiecutter``. Issue the following commands and override the defaults in the prompts as follows. +We will create a Pyramid project in your home directory for Unix or at the root for Windows. It is assumed you know the path to where you installed ``cookiecutter``. Issue the following commands and override the defaults in the prompts as follows. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -67,7 +67,7 @@ If prompted for the first item, accept the default ``yes`` by hitting return. Change directory into your newly created project ------------------------------------------------ -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -87,7 +87,7 @@ Set and use a ``VENV`` environment variable We will set the ``VENV`` environment variable to the absolute path of the virtual environment, and use it going forward. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -105,7 +105,7 @@ On Windows Create a virtual environment ---------------------------- -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -133,7 +133,7 @@ Python 3.6: Upgrade packaging tools in the virtual environment -------------------------------------------------- -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -155,7 +155,7 @@ Installing the project in development mode In order to do development on the project easily, you must "register" the project as a development egg in your workspace. We will install testing requirements at the same time. We do so with the following command. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -207,7 +207,7 @@ We use :term:`Alembic` to manage our database initialization and migrations. Generate your first revision. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -248,7 +248,7 @@ The output to your console should be something like this: Upgrade to that revision. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -303,7 +303,7 @@ Load default data Load default data into the database using a :term:`console script`. Type the following command, making sure you are still in the ``tutorial`` directory (the directory with a ``development.ini`` in it): -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -345,7 +345,7 @@ requirements, you may run the tests for the project. The following commands provide options to py.test that specify the module for which its tests shall be run, and to run py.test in quiet mode. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -378,7 +378,7 @@ tests. We've already installed the ``pytest-cov`` package into our virtual environment, so we can run the tests with coverage. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -434,7 +434,7 @@ These configuration files are ``pytest.ini`` and ``.coveragerc``, located at the root of your package. Without these defaults, we would need to specify the path to the module on which we want to run tests and coverage. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash @@ -465,7 +465,7 @@ Start the application Start the application. See :ref:`what_is_this_pserve_thing` for more information on ``pserve``. -On UNIX +On Unix ^^^^^^^ .. code-block:: bash diff --git a/docs/tutorials/wiki2/tests.rst b/docs/tutorials/wiki2/tests.rst index f856f837e..f3f89fe9c 100644 --- a/docs/tutorials/wiki2/tests.rst +++ b/docs/tutorials/wiki2/tests.rst @@ -94,7 +94,7 @@ Running the tests We can run these tests similarly to how we did in :ref:`running_tests`, but first delete the SQLite database ``tutorial.sqlite``. If you do not delete the database, then you will see an integrity error when running the tests. -On UNIX: +On Unix: .. code-block:: bash -- cgit v1.2.3 From 254710cb716dccfe536b20d077e3cb79be19c6b3 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 19 Aug 2018 00:40:12 -0700 Subject: Standardize macOS capitalization --- docs/tutorials/wiki2/background.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/tutorials/wiki2') diff --git a/docs/tutorials/wiki2/background.rst b/docs/tutorials/wiki2/background.rst index ded6bc9c3..c14d3cb7d 100644 --- a/docs/tutorials/wiki2/background.rst +++ b/docs/tutorials/wiki2/background.rst @@ -12,7 +12,7 @@ URLs to code. It can also be followed by people without any prior Python web framework experience. 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 +machine with development tools (macOS with XCode, any Linux or BSD variant, etc.) *or* a Windows system of any kind. .. note:: -- cgit v1.2.3