pyramid.paster
¶
-
bootstrap
(config_uri, request=None, options=None)[source]¶ Load a WSGI application from the PasteDeploy config file specified by
config_uri
. The environment will be configured as if it is currently servingrequest
, leaving a natural environment in place to write scripts that can generate URLs and utilize renderers.This function returns a dictionary with
app
,root
,closer
,request
, andregistry
keys.app
is the WSGI app loaded (based on theconfig_uri
),root
is the traversal root resource of the Pyramid application, andcloser
is a parameterless callback that may be called when your script is complete (it pops a threadlocal stack).Note
Most operations within Pyramid expect to be invoked within the context of a WSGI request, thus it's important when loading your application to anchor it when executing scripts and other code that is not normally invoked during active WSGI requests.
Note
For a complex config file containing multiple Pyramid applications, this function will setup the environment under the context of the last-loaded Pyramid application. You may load a specific application yourself by using the lower-level functions
pyramid.paster.get_app()
andpyramid.scripting.prepare()
in conjunction withpyramid.config.global_registries
.config_uri
-- specifies the PasteDeploy config file to use for the interactive shell. The format isinifile#name
. If the name is left off,main
will be assumed.request
-- specified to anchor the script to a given set of WSGI parameters. For example, most people would want to specify the host, scheme and port such that their script will generate URLs in relation to those parameters. A request with default parameters is constructed for you if none is provided. You can mutate the request'senviron
later to setup a specific host/port/scheme/etc.options
Is passed to get_app for use as variable assignments like {'http_port': 8080} and then use %(http_port)s in the config file.See Writing a Script for more information about how to use this function.
-
get_app
(config_uri, name=None, options=None)[source]¶ Return the WSGI application named
name
in the PasteDeploy config file specified byconfig_uri
.options
, if passed, should be a dictionary used as variable assignments like{'http_port': 8080}
. This is useful if e.g.%(http_port)s
is used in the config file.If the
name
is None, this will attempt to parse the name from theconfig_uri
string expecting the formatinifile#name
. If no name is found, the name will default to "main".
-
get_appsettings
(config_uri, name=None, options=None)[source]¶ Return a dictionary representing the key/value pairs in an
app
section within the file represented byconfig_uri
.options
, if passed, should be a dictionary used as variable assignments like{'http_port': 8080}
. This is useful if e.g.%(http_port)s
is used in the config file.If the
name
is None, this will attempt to parse the name from theconfig_uri
string expecting the formatinifile#name
. If no name is found, the name will default to "main".
-
setup_logging
(config_uri)[source]¶ Set up logging via the logging module's fileConfig function with the filename specified via
config_uri
(a string in the formfilename#sectionname
).ConfigParser defaults are specified for the special
__file__
andhere
variables, similar to PasteDeploy config loading.