summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2/src/basiclayout
diff options
context:
space:
mode:
authorSteve Piercy <web@stevepiercy.com>2018-08-30 02:51:26 -0700
committerSteve Piercy <web@stevepiercy.com>2018-08-30 02:51:26 -0700
commit9a9ea6a2c050c1ad5044df34b49026af016c463a (patch)
treeca5d32ea6f0fb44dcedcd4abb5e3427c9d337946 /docs/tutorials/wiki2/src/basiclayout
parent7633490dd5c70ce93c94c62e08b1a80f8cc2bf6f (diff)
downloadpyramid-9a9ea6a2c050c1ad5044df34b49026af016c463a.tar.gz
pyramid-9a9ea6a2c050c1ad5044df34b49026af016c463a.tar.bz2
pyramid-9a9ea6a2c050c1ad5044df34b49026af016c463a.zip
Update wiki2 with alchemy cookiecutter source files
Diffstat (limited to 'docs/tutorials/wiki2/src/basiclayout')
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/development.ini5
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/production.ini3
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/setup.py2
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py10
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py12
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tutorial/scripts/initialize_db.py26
6 files changed, 40 insertions, 18 deletions
diff --git a/docs/tutorials/wiki2/src/basiclayout/development.ini b/docs/tutorials/wiki2/src/basiclayout/development.ini
index ee050c0ea..564aefb56 100644
--- a/docs/tutorials/wiki2/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/development.ini
@@ -22,6 +22,9 @@ retry.attempts = 3
# '127.0.0.1' and '::1'.
# debugtoolbar.hosts = 127.0.0.1 ::1
+[pshell]
+setup = tutorial.pshell.setup
+
###
# wsgi server configuration
###
@@ -60,7 +63,7 @@ handlers =
qualname = tutorial
[logger_sqlalchemy]
-level = INFO
+level = WARN
handlers =
qualname = sqlalchemy.engine
# "level = INFO" logs SQL queries.
diff --git a/docs/tutorials/wiki2/src/basiclayout/production.ini b/docs/tutorials/wiki2/src/basiclayout/production.ini
index 91d0f5ddb..29cdda1e1 100644
--- a/docs/tutorials/wiki2/src/basiclayout/production.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/production.ini
@@ -16,6 +16,9 @@ sqlalchemy.url = sqlite:///%(here)s/tutorial.sqlite
retry.attempts = 3
+[pshell]
+setup = tutorial.pshell.setup
+
###
# wsgi server configuration
###
diff --git a/docs/tutorials/wiki2/src/basiclayout/setup.py b/docs/tutorials/wiki2/src/basiclayout/setup.py
index e0cc964fe..11725dd51 100644
--- a/docs/tutorials/wiki2/src/basiclayout/setup.py
+++ b/docs/tutorials/wiki2/src/basiclayout/setup.py
@@ -24,7 +24,7 @@ requires = [
tests_require = [
'WebTest >= 1.3.1', # py3 compat
- 'pytest',
+ 'pytest>=3.7.4',
'pytest-cov',
]
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
index 4dab44823..28bd1f80d 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py
@@ -4,9 +4,9 @@ from pyramid.config import Configurator
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
- config = Configurator(settings=settings)
- config.include('pyramid_jinja2')
- config.include('.models')
- config.include('.routes')
- config.scan()
+ with Configurator(settings=settings) as config:
+ config.include('pyramid_jinja2')
+ config.include('.models')
+ config.include('.routes')
+ config.scan()
return config.make_wsgi_app()
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py
new file mode 100644
index 000000000..108c04d5e
--- /dev/null
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py
@@ -0,0 +1,12 @@
+from . import models
+
+def setup(env):
+ request = env['request']
+
+ # start a transaction
+ request.tm.begin()
+
+ # inject some vars into the shell builtins
+ env['tm'] = request.tm
+ env['dbsession'] = request.dbsession
+ env['models'] = models
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/scripts/initialize_db.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/scripts/initialize_db.py
index b882f9bf7..c629d1780 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/scripts/initialize_db.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/scripts/initialize_db.py
@@ -1,4 +1,4 @@
-import os
+import argparse
import sys
from pyramid.paster import bootstrap, setup_logging
@@ -8,23 +8,27 @@ from .. import models
def setup_models(dbsession):
+ """
+ Add or update models / fixtures in the database.
+
+ """
model = models.mymodel.MyModel(name='one', value=1)
dbsession.add(model)
-def usage(argv):
- cmd = os.path.basename(argv[0])
- print('usage: %s <config_uri>\n'
- '(example: "%s development.ini")' % (cmd, cmd))
- sys.exit(1)
+def parse_args(argv):
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ 'config_uri',
+ help='Configuration file, e.g., development.ini',
+ )
+ return parser.parse_args(argv[1:])
def main(argv=sys.argv):
- if len(argv) != 2:
- usage(argv)
- config_uri = argv[1]
- setup_logging(config_uri)
- env = bootstrap(config_uri)
+ args = parse_args(argv)
+ setup_logging(args.config_uri)
+ env = bootstrap(args.config_uri)
try:
with env['request'].tm: