update src files and synch emphasize-lines for quick_tour
| | |
| | | .. literalinclude:: quick_tour/package/setup.py |
| | | :language: python |
| | | :lineno-match: |
| | | :lines: 11-16 |
| | | :emphasize-lines: 4 |
| | | :lines: 11-17 |
| | | :emphasize-lines: 5 |
| | | |
| | | It was installed when you previously ran: |
| | | |
| | |
| | | $ $VENV/bin/pip install -e ".[testing]" |
| | | |
| | | The ``pyramid_debugtoolbar`` package is a Pyramid add-on, which means we need |
| | | to include its configuration into our web application. The cookiecutter already took care of this for us in its ``__init__.py``: |
| | | |
| | | .. literalinclude:: quick_tour/package/hello_world/__init__.py |
| | | :language: python |
| | | :lineno-match: |
| | | :lines: 8 |
| | | |
| | | And it uses the ``pyramid.includes`` facility in our ``development.ini``: |
| | | to include its configuration into our web application. The cookiecutter already took care of this for us in its ``development.ini`` using the ``pyramid.includes`` facility: |
| | | |
| | | .. literalinclude:: quick_tour/package/development.ini |
| | | :language: ini |
| | |
| | | Our ``pyramid-cookiecutter-starter`` cookiecutter generated a ``tests.py`` module with |
| | | one unit test and one functional test in it. It also configured ``setup.py`` with test requirements: |
| | | ``py.test`` as the test runner, ``WebTest`` for running view tests, and the |
| | | ``pytest-cov`` tool which yells at us for code that isn't tested. The |
| | | highlighted lines show this: |
| | | ``pytest-cov`` tool which yells at us for code that isn't tested: |
| | | |
| | | .. literalinclude:: quick_tour/package/setup.py |
| | | :language: python |
| | | :lineno-match: |
| | | :lines: 18-22 |
| | | :lines: 19-23 |
| | | |
| | | .. literalinclude:: quick_tour/package/setup.py |
| | | :language: python |
| | | :lineno-match: |
| | | :lines: 42-44 |
| | | :lines: 43-45 |
| | | |
| | | We already installed the test requirements when we ran the command ``$VENV/bin/pip install -e ".[testing]"``. We can now run all our tests: |
| | | |
| | |
| | | CHANGES = f.read() |
| | | |
| | | requires = [ |
| | | 'plaster_pastedeploy', |
| | | 'pyramid', |
| | | 'pyramid_jinja2', |
| | | 'pyramid_debugtoolbar', |
| | |
| | | CHANGES = f.read() |
| | | |
| | | requires = [ |
| | | 'plaster_pastedeploy', |
| | | 'pyramid', |
| | | 'pyramid_jinja2', |
| | | 'pyramid_debugtoolbar', |
| | |
| | | CHANGES = f.read() |
| | | |
| | | requires = [ |
| | | 'plaster_pastedeploy', |
| | | 'pyramid', |
| | | 'pyramid_jinja2', |
| | | 'pyramid_debugtoolbar', |
| | |
| | | |
| | | sqlalchemy.url = sqlite:///%(here)s/sqla_demo.sqlite |
| | | |
| | | retry.attempts = 3 |
| | | |
| | | # By default, the toolbar only appears for clients from IP addresses |
| | | # '127.0.0.1' and '::1'. |
| | | # debugtoolbar.hosts = 127.0.0.1 ::1 |
| | |
| | | |
| | | sqlalchemy.url = sqlite:///%(here)s/sqla_demo.sqlite |
| | | |
| | | retry.attempts = 3 |
| | | |
| | | ### |
| | | # wsgi server configuration |
| | | ### |
| | |
| | | CHANGES = f.read() |
| | | |
| | | requires = [ |
| | | 'pyramid', |
| | | 'pyramid_jinja2', |
| | | 'plaster_pastedeploy', |
| | | 'pyramid >= 1.9a', |
| | | 'pyramid_debugtoolbar', |
| | | 'pyramid_jinja2', |
| | | 'pyramid_retry', |
| | | 'pyramid_tm', |
| | | 'SQLAlchemy', |
| | | 'transaction', |
| | |
| | | """ |
| | | settings = config.get_settings() |
| | | settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager' |
| | | |
| | | # use pyramid_tm to hook the transaction lifecycle to the request |
| | | config.include('pyramid_tm') |
| | | |
| | | # use pyramid_retry to retry a request when transient exceptions occur |
| | | config.include('pyramid_retry') |
| | | |
| | | session_factory = get_session_factory(get_engine(settings)) |
| | | config.registry['dbsession_factory'] = session_factory |
| | | |