From 9a9ea6a2c050c1ad5044df34b49026af016c463a Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Thu, 30 Aug 2018 02:51:26 -0700 Subject: Update wiki2 with alchemy cookiecutter source files --- docs/tutorials/wiki2/src/models/development.ini | 5 ++++- docs/tutorials/wiki2/src/models/production.ini | 3 +++ docs/tutorials/wiki2/src/models/setup.py | 2 +- .../wiki2/src/models/tutorial/__init__.py | 10 +++++----- docs/tutorials/wiki2/src/models/tutorial/pshell.py | 12 ++++++++++++ .../src/models/tutorial/scripts/initialize_db.py | 22 +++++++++++----------- 6 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 docs/tutorials/wiki2/src/models/tutorial/pshell.py (limited to 'docs/tutorials/wiki2/src/models') diff --git a/docs/tutorials/wiki2/src/models/development.ini b/docs/tutorials/wiki2/src/models/development.ini index ee050c0ea..564aefb56 100644 --- a/docs/tutorials/wiki2/src/models/development.ini +++ b/docs/tutorials/wiki2/src/models/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/models/production.ini b/docs/tutorials/wiki2/src/models/production.ini index 91d0f5ddb..29cdda1e1 100644 --- a/docs/tutorials/wiki2/src/models/production.ini +++ b/docs/tutorials/wiki2/src/models/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/models/setup.py b/docs/tutorials/wiki2/src/models/setup.py index 2576cc848..09e3126ea 100644 --- a/docs/tutorials/wiki2/src/models/setup.py +++ b/docs/tutorials/wiki2/src/models/setup.py @@ -25,7 +25,7 @@ requires = [ tests_require = [ 'WebTest >= 1.3.1', # py3 compat - 'pytest', + 'pytest>=3.7.4', 'pytest-cov', ] diff --git a/docs/tutorials/wiki2/src/models/tutorial/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/__init__.py index 4dab44823..28bd1f80d 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/models/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/models/tutorial/pshell.py b/docs/tutorials/wiki2/src/models/tutorial/pshell.py new file mode 100644 index 000000000..108c04d5e --- /dev/null +++ b/docs/tutorials/wiki2/src/models/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/models/tutorial/scripts/initialize_db.py b/docs/tutorials/wiki2/src/models/tutorial/scripts/initialize_db.py index 231d5d44b..e6350fb36 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/scripts/initialize_db.py +++ b/docs/tutorials/wiki2/src/models/tutorial/scripts/initialize_db.py @@ -1,4 +1,4 @@ -import os +import argparse import sys from pyramid.paster import bootstrap, setup_logging @@ -24,19 +24,19 @@ def setup_models(dbsession): dbsession.add(page) -def usage(argv): - cmd = os.path.basename(argv[0]) - print('usage: %s \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: -- cgit v1.2.3