pyramid.interfaces
¶
Other Interfaces¶
- interface ISecurityPolicy[source]¶
- authenticated_userid(request)¶
Return a userid string identifying the trusted and verified user, or
None
if unauthenticated.If the result is
None
, thenpyramid.request.Request.is_authenticated
will returnFalse
.
- forget(request, **kw)¶
Return a set of headers suitable for 'forgetting' the current user on subsequent requests. An individual security policy and its consumers can decide on the composition and meaning of
**kw
.
- identity(request)¶
Return the identity of the current user. The object can be of any shape, such as a simple ID string or an ORM object.
- permits(request, context, permission)¶
Return an instance of
pyramid.security.Allowed
if a user of the given identity is allowed thepermission
in the currentcontext
, else return an instance ofpyramid.security.Denied
.
- interface IAuthenticationPolicy[source]¶
An object representing a Pyramid authentication policy.
Deprecated since version 2.0: Authentication policies have been removed in favor of security policies. See Upgrading Authentication/Authorization for more information.
- authenticated_userid(request)¶
Return the authenticated userid or
None
if no authenticated userid can be found. This method of the policy should ensure that a record exists in whatever persistent store is used related to the user (the user should not have been deleted); if a record associated with the current id does not exist in a persistent store, it should returnNone
.
- effective_principals(request)¶
Return a sequence representing the effective principals typically including the userid and any groups belonged to by the current user, always including 'system' groups such as
pyramid.authorization.Everyone
andpyramid.authorization.Authenticated
.
- forget(request)¶
Return a set of headers suitable for 'forgetting' the current user on subsequent requests.
- remember(request, userid, **kw)¶
Return a set of headers suitable for 'remembering' the userid named
userid
when set in a response. An individual authentication policy and its consumers can decide on the composition and meaning of**kw
.
- unauthenticated_userid(request)¶
Return the unauthenticated userid. This method performs the same duty as
authenticated_userid
but is permitted to return the userid based only on data present in the request; it needn't (and shouldn't) check any persistent store to ensure that the user record related to the request userid exists.This method is intended primarily a helper to assist the
authenticated_userid
method in pulling credentials out of the request data, abstracting away the specific headers, query strings, etc that are used to authenticate the request.
- interface IAuthorizationPolicy[source]¶
An object representing a Pyramid authorization policy.
Deprecated since version 2.0: Authentication policies have been removed in favor of security policies. See Upgrading Authentication/Authorization for more information.
- permits(context, principals, permission)¶
Return an instance of
pyramid.security.Allowed
if any of theprincipals
is allowed thepermission
in the currentcontext
, else return an instance ofpyramid.security.Denied
.
- principals_allowed_by_permission(context, permission)¶
Return a set of principal identifiers allowed by the
permission
incontext
. This behavior is optional; if you choose to not implement it you should define this method as something which raises aNotImplementedError
. This method will only be called when thepyramid.security.principals_allowed_by_permission
API is used.
- interface IExceptionResponse[source]¶
Extends:
pyramid.interfaces.IException
,pyramid.interfaces.IResponse
An interface representing a WSGI response which is also an exception object. Register an exception view using this interface as a
context
to apply the registered view for all exception types raised by Pyramid internally (any exception that inherits frompyramid.response.Response
, includingpyramid.httpexceptions.HTTPNotFound
andpyramid.httpexceptions.HTTPForbidden
).
- prepare(environ)¶
Prepares the response for being called as a WSGI application
- interface IRoute[source]¶
Interface representing the type of object returned from
IRoutesMapper.get_route
- factory¶
The root factory used by the Pyramid router when this route matches (or
None
)
- generate(kw)¶
Generate a URL based on filling in the dynamic segment markers in the pattern using the
kw
dictionary provided.
- match(path)¶
If the
path
passed to this function can be matched by thepattern
of this route, return a dictionary (the 'matchdict'), which will contain keys representing the dynamic segment markers in the pattern mapped to values extracted from the providedpath
.If the
path
passed to this function cannot be matched by thepattern
of this route, returnNone
.
- name¶
The route name
- pattern¶
The route pattern
- predicates¶
A sequence of route predicate objects used to determine if a request matches this route or not after basic pattern matching has been completed.
- pregenerator¶
This attribute should either be
None
or a callable object implementing theIRoutePregenerator
interface
- interface IRoutePregenerator[source]¶
- __call__(request, elements, kw)¶
A pregenerator is a function associated by a developer with a route. The pregenerator for a route is called by
pyramid.request.Request.route_url()
in order to adjust the set of arguments passed to it by the user for special purposes, such as Pylons 'subdomain' support. It will influence the URL returned byroute_url
.A pregenerator should return a two-tuple of
(elements, kw)
after examining the originals passed to this function, which are the arguments(request, elements, kw)
. The simplest pregenerator is:def pregenerator(request, elements, kw): return elements, kwYou can employ a pregenerator by passing a
pregenerator
argument to thepyramid.config.Configurator.add_route()
function.
- interface ICSRFStoragePolicy[source]¶
An object that offers the ability to verify CSRF tokens and generate new ones.
- check_csrf_token(request, token)¶
Determine if the supplied
token
is valid. Most implementations should simply compare thetoken
to the current value ofget_csrf_token
but it is possible to verify the token using any mechanism necessary using this method.Returns
True
if thetoken
is valid, otherwiseFalse
.
- get_csrf_token(request)¶
Return a cross-site request forgery protection token. It will be an ascii-compatible unicode string. If a token was previously set for this user via
new_csrf_token
, that token will be returned. If no CSRF token was previously set,new_csrf_token
will be called, which will create and set a token, and this token will be returned.
- new_csrf_token(request)¶
Create and return a new, random cross-site request forgery protection token. The token will be an ascii-compatible unicode string.
- interface ISession[source]¶
Extends:
pyramid.interfaces.IDict
An interface representing a session (a web session object, usually accessed via
request.session
.Keys and values of a session must be JSON-serializable.
Warning
In Pyramid 2.0 the session was changed to only be required to support types that can be serialized using JSON. It's recommended to switch any session implementations to support only JSON and to only store primitive types in sessions. See Upgrading Session Serialization for more information about why this change was made.
Changed in version 1.9: Sessions are no longer required to implement
get_csrf_token
andnew_csrf_token
. CSRF token support was moved to the pluggablepyramid.interfaces.ICSRFStoragePolicy
configuration hook.Changed in version 2.0: Sessions now need to be JSON-serializable. This is more strict than the previous requirement of pickleable objects.
- changed()¶
Mark the session as changed. A user of a session should call this method after he or she mutates a mutable object that is a value of the session (it should not be required after mutating the session itself). For example, if the user has stored a dictionary in the session under the key
foo
, and he or she doessession['foo'] = {}
,changed()
needn't be called. However, if subsequently he or she doessession['foo']['a'] = 1
,changed()
must be called for the sessioning machinery to notice the mutation of the internal dictionary.
- created¶
Integer representing Epoch time when created.
- flash(msg, queue='', allow_duplicate=True)¶
Push a flash message onto the end of the flash queue represented by
queue
. An alternate flash message queue can used by passing an optionalqueue
, which must be a string. Ifallow_duplicate
is false, if themsg
already exists in the queue, it will not be re-added.
- invalidate()¶
Invalidate the session. The action caused by
invalidate
is implementation-dependent, but it should have the effect of completely dissociating any data stored in the session with the current request. It might set response values (such as one which clears a cookie), or it might not.An invalidated session may be used after the call to
invalidate
with the effect that a new session is created to store the data. This enables workflows requiring an entirely new session, such as in the case of changing privilege levels or preventing fixation attacks.
- new¶
Boolean attribute. If
True
, the session is new.
- peek_flash(queue='')¶
Peek at a queue in the flash storage. The queue remains in flash storage after this message is called. The queue is returned; it is a list of flash messages added by
pyramid.interfaces.ISession.flash()
- pop_flash(queue='')¶
Pop a queue from the flash storage. The queue is removed from flash storage after this message is called. The queue is returned; it is a list of flash messages added by
pyramid.interfaces.ISession.flash()
- interface ISessionFactory[source]¶
An interface representing a factory which accepts a request object and returns an ISession object
- __call__(request)¶
Return an ISession object
- interface IRendererInfo[source]¶
An object implementing this interface is passed to every renderer factory constructor as its only argument (conventionally named
info
)
- clone()¶
Return a shallow copy that does not share any mutable state.
- name¶
The value passed by the user as the renderer name
- package¶
The "current package" when the renderer configuration statement was found
- registry¶
The "current" application registry when the renderer was created
- settings¶
The deployment settings dictionary related to the current application
- type¶
The renderer type name
- interface IRendererFactory[source]¶
- __call__(info)¶
Return an object that implements
pyramid.interfaces.IRenderer
.info
is an object that implementspyramid.interfaces.IRendererInfo
.
- interface IRenderer[source]¶
- __call__(value, system)¶
Call the renderer with the result of the view (
value
) passed in and return a result (a string or unicode object useful as a response body). Values computed by the system are passed by the system in thesystem
parameter, which is a dictionary. Keys in the dictionary include:view
(the view callable that returned the value),renderer_name
(the template name or simple name of the renderer),context
(the context object passed to the view), andrequest
(the request object passed to the view).
- interface IRequestFactory[source]¶
A utility which generates a request
- __call__(environ)¶
Return an instance of
pyramid.request.Request
- blank(path)¶
Return an empty request object (see
pyramid.request.Request.blank()
)
- interface IResponseFactory[source]¶
A utility which generates a response
- __call__(request)¶
Return a response object implementing IResponse, e.g.
pyramid.response.Response
). It should handle the case whenrequest
isNone
.
- interface IRouter[source]¶
WSGI application which routes requests to 'view' code based on a view registry.
- invoke_request(request)¶
Invoke the Pyramid request pipeline.
See Request Processing for information on the request pipeline.
The output should be a
pyramid.interfaces.IResponse
object or a raised exception.
- registry¶
Component architecture registry local to this application.
- request_context(environ)¶
Create a new request context from a WSGI environ.
The request context is used to push/pop the threadlocals required when processing the request. It also contains an initialized
pyramid.interfaces.IRequest
instance using the registeredpyramid.interfaces.IRequestFactory
. The context may be used as a context manager to control the threadlocal lifecycle:with router.request_context(environ) as request: ...Alternatively, the context may be used without the
with
statement by manually invoking itsbegin()
andend()
methods.ctx = router.request_context(environ) request = ctx.begin() try: ... finally: ctx.end()
- interface IViewMapperFactory[source]¶
- __call__(self, **kw)¶
Return an object which implements
pyramid.interfaces.IViewMapper
.kw
will be a dictionary containing view-specific arguments, such aspermission
,predicates
,attr
,renderer
, and other items. An IViewMapperFactory is used bypyramid.config.Configurator.add_view()
to provide a plugpoint to extension developers who want to modify potential view callable invocation signatures and response values.
- interface IViewMapper[source]¶
- __call__(self, object)¶
Provided with an arbitrary object (a function, class, or instance), returns a callable with the call signature
(context, request)
. The callable returned should itself return a Response object. An IViewMapper is returned bypyramid.interfaces.IViewMapperFactory
.
- interface IDict[source]¶
- __contains__(k)¶
Return
True
if keyk
exists in the dictionary.
- __delitem__(k)¶
Delete an item from the dictionary which is passed to the renderer as the renderer globals dictionary.
- __getitem__(k)¶
Return the value for key
k
from the dictionary or raise a KeyError if the key doesn't exist
- __iter__()¶
Return an iterator over the keys of this dictionary
- __setitem__(k, value)¶
Set a key/value pair into the dictionary
- clear()¶
Clear all values from the dictionary
- get(k, default=None)¶
Return the value for key
k
from the renderer dictionary, or the default if no such value exists.
- items()¶
Return a list of [(k,v)] pairs from the dictionary
- keys()¶
Return a list of keys from the dictionary
- pop(k, default=None)¶
Pop the key k from the dictionary and return its value. If k doesn't exist, and default is provided, return the default. If k doesn't exist and default is not provided, raise a KeyError.
- popitem()¶
Pop the item with key k from the dictionary and return it as a two-tuple (k, v). If k doesn't exist, raise a KeyError.
- setdefault(k, default=None)¶
Return the existing value for key
k
in the dictionary. If no value withk
exists in the dictionary, set thedefault
value into the dictionary under the k name passed. If a value already existed in the dictionary, return it. If a value did not exist in the dictionary, return the default
- update(d)¶
Update the renderer dictionary with another dictionary
d
.
- values()¶
Return a list of values from the dictionary
- interface IMultiDict[source]¶
Extends:
pyramid.interfaces.IDict
An ordered dictionary that can have multiple values for each key. A multidict adds the methods
getall
,getone
,mixed
,extend
,add
, anddict_of_lists
to the normal dictionary interface. A multidict data structure is used asrequest.POST
,request.GET
, andrequest.params
within an Pyramid application.
- add(key, value)¶
Add the key and value, not overwriting any previous value.
- dict_of_lists()¶
Returns a dictionary where each key is associated with a list of values.
- extend(other=None, **kwargs)¶
Add a set of keys and values, not overwriting any previous values. The
other
structure may be a list of two-tuples or a dictionary. If**kwargs
is passed, its value will overwrite existing values.
- getall(key)¶
Return a list of all values matching the key (may be an empty list)
- getone(key)¶
Get one value matching the key, raising a KeyError if multiple values were found.
- mixed()¶
Returns a dictionary where the values are either single values, or a list of values when a key/value appears more than once in this dictionary. This is similar to the kind of dictionary often used to represent the variables in a web request.
- interface IResponse[source]¶
Represents a WSGI response using the WebOb response interface. Some attribute and method documentation of this interface references RFC 2616.
This interface is most famously implemented by
pyramid.response.Response
and the HTTP exception classes inpyramid.httpexceptions
.
- RequestClass¶
Alias for
pyramid.request.Request
- __call__(environ, start_response)¶
WSGI call interface, should call the start_response callback and should return an iterable
- accept_ranges¶
Gets and sets and deletes the Accept-Ranges header. For more information on Accept-Ranges see RFC 2616, section 14.5
- age¶
Gets and sets and deletes the Age header. Converts using int. For more information on Age see RFC 2616, section 14.6.
- allow¶
Gets and sets and deletes the Allow header. Converts using list. For more information on Allow see RFC 2616, Section 14.7.
- app_iter¶
Returns the app_iter of the response.
If body was set, this will create an app_iter from that body (a single-item list)
- app_iter_range(start, stop)¶
Return a new app_iter built from the response app_iter that serves up only the given start:stop range.
- authenticated_userid¶
A string to identify the authenticated user or
None
.
- body¶
The body of the response, as a str. This will read in the entire app_iter if necessary.
- body_file¶
A file-like object that can be used to write to the body. If you passed in a list app_iter, that app_iter will be modified by writes.
- cache_control¶
Get/set/modify the Cache-Control header (RFC 2616 section 14.9)
- cache_expires¶
Get/set the Cache-Control and Expires headers. This sets the response to expire in the number of seconds passed when set.
- charset¶
Get/set the charset (in the Content-Type)
- conditional_response_app(environ, start_response)¶
Like the normal __call__ interface, but checks conditional headers:
If-Modified-Since (304 Not Modified; only on GET, HEAD)
If-None-Match (304 Not Modified; only on GET, HEAD)
Range (406 Partial Content; only on GET, HEAD)
- content_disposition¶
Gets and sets and deletes the Content-Disposition header. For more information on Content-Disposition see RFC 2616 section 19.5.1.
- content_encoding¶
Gets and sets and deletes the Content-Encoding header. For more information about Content-Encoding see RFC 2616 section 14.11.
- content_language¶
Gets and sets and deletes the Content-Language header. Converts using list. For more information about Content-Language see RFC 2616 section 14.12.
- content_length¶
Gets and sets and deletes the Content-Length header. For more information on Content-Length see RFC 2616 section 14.17. Converts using int.
- content_location¶
Gets and sets and deletes the Content-Location header. For more information on Content-Location see RFC 2616 section 14.14.
- content_md5¶
Gets and sets and deletes the Content-MD5 header. For more information on Content-MD5 see RFC 2616 section 14.14.
- content_range¶
Gets and sets and deletes the Content-Range header. For more information on Content-Range see section 14.16. Converts using ContentRange object.
- content_type¶
Get/set the Content-Type header (or None), without the charset or any parameters. If you include parameters (or ; at all) when setting the content_type, any existing parameters will be deleted; otherwise they will be preserved.
- content_type_params¶
A dictionary of all the parameters in the content type. This is not a view, set to change, modifications of the dict would not be applied otherwise.
- copy()¶
Makes a copy of the response and returns the copy.
- date¶
Gets and sets and deletes the Date header. For more information on Date see RFC 2616 section 14.18. Converts using HTTP date.
- delete_cookie(name, path='/', domain=None)¶
Delete a cookie from the client. Note that path and domain must match how the cookie was originally set. This sets the cookie to the empty string, and max_age=0 so that it should expire immediately.
- encode_content(encoding='gzip', lazy=False)¶
Encode the content with the given encoding (only gzip and identity are supported).
- environ¶
Get/set the request environ associated with this response, if any.
- etag¶
Gets and sets and deletes the ETag header. For more information on ETag see RFC 2616 section 14.19. Converts using Entity tag.
- expires¶
Gets and sets and deletes the Expires header. For more information on Expires see RFC 2616 section 14.21. Converts using HTTP date.
- headerlist¶
The list of response headers.
- headers¶
The headers in a dictionary-like object
- identity¶
An object containing authentication information related to the current request. The object's type and meaning is defined by the configured security policy.
- is_authenticated¶
A boolean indicating whether the request has an authenticated user, as determined by the security policy in use.
The value is determined by the result of
pyramid.request.Request.authenticated_userid
.
- last_modified¶
Gets and sets and deletes the Last-Modified header. For more information on Last-Modified see RFC 2616 section 14.29. Converts using HTTP date.
- location¶
Gets and sets and deletes the Location header. For more information on Location see RFC 2616 section 14.30.
- md5_etag(body=None, set_content_md5=False)¶
Generate an etag for the response object using an MD5 hash of the body (the body parameter, or self.body if not given). Sets self.etag. If set_content_md5 is True sets self.content_md5 as well
- merge_cookies(resp)¶
Merge the cookies that were set on this response with the given resp object (which can be any WSGI application). If the resp is a webob.Response object, then the other object will be modified in-place.
- pragma¶
Gets and sets and deletes the Pragma header. For more information on Pragma see RFC 2616 section 14.32.
- request¶
Return the request associated with this response if any.
- retry_after¶
Gets and sets and deletes the Retry-After header. For more information on Retry-After see RFC 2616 section 14.37. Converts using HTTP date or delta seconds.
- server¶
Gets and sets and deletes the Server header. For more information on Server see RFC216 section 14.38.
- set_cookie(name, value='', max_age=None, path='/', domain=None, secure=False, httponly=False, comment=None, expires=None, overwrite=False)¶
Set (add) a cookie for the response
- status¶
The status string.
- status_int¶
The status as an integer
- unicode_body¶
Get/set the unicode value of the body (using the charset of the Content-Type)
- unset_cookie(name, strict=True)¶
Unset a cookie with the given name (remove it from the response).
- vary¶
Gets and sets and deletes the Vary header. For more information on Vary see section 14.44. Converts using list.
- www_authenticate¶
Gets and sets and deletes the WWW-Authenticate header. For more information on WWW-Authenticate see RFC 2616 section 14.47. Converts using 'parse_auth' and 'serialize_auth'.
- interface IIntrospectable[source]¶
An introspectable object used for configuration introspection. In addition to the methods below, objects which implement this interface must also implement all the methods of Python's
collections.MutableMapping
(the "dictionary interface"), and must be hashable.
- __hash__()¶
Introspectables must be hashable. The typical implementation of an introsepectable's __hash__ is:
return hash((self.category_name,) + (self.discriminator,))
- action_info¶
An IActionInfo object representing the caller that invoked the creation of this introspectable (usually a sentinel until updated during self.register)
- category_name¶
introspection category name
- discriminator¶
introspectable discriminator (within category) (must be hashable)
- discriminator_hash¶
an integer hash of the discriminator
- order¶
integer order in which registered with introspector (managed by introspector, usually)
- register(introspector, action_info)¶
Register this IIntrospectable with an introspector. This method is invoked during action execution. Adds the introspectable and its relations to the introspector.
introspector
should be an object implementing IIntrospector.action_info
should be a object implementing the interfacepyramid.interfaces.IActionInfo
representing the call that registered this introspectable. Pseudocode for an implementation of this method:def register(self, introspector, action_info): self.action_info = action_info introspector.add(self) for methodname, category_name, discriminator in self._relations: method = getattr(introspector, methodname) method((i.category_name, i.discriminator), (category_name, discriminator))
- relate(category_name, discriminator)¶
Indicate an intent to relate this IIntrospectable with another IIntrospectable (the one associated with the
category_name
anddiscriminator
) during action execution.
- title¶
Text title describing this introspectable
- type_name¶
Text type name describing this introspectable
- unrelate(category_name, discriminator)¶
Indicate an intent to break the relationship between this IIntrospectable with another IIntrospectable (the one associated with the
category_name
anddiscriminator
) during action execution.
- interface IIntrospector[source]¶
- add(intr)¶
Add the IIntrospectable
intr
(use instead ofpyramid.interfaces.IIntrospector.add()
when you have a custom IIntrospectable). Replaces any existing introspectable registered using the same category/discriminator.This method is not typically called directly, instead it's called indirectly by
pyramid.interfaces.IIntrospector.register()
- categories()¶
Return a sorted sequence of category names known by this introspector
- categorized(sort_key=None)¶
Get a sequence of tuples in the form
[(category_name, [{'introspectable':IIntrospectable, 'related':[sequence of related IIntrospectables]}, ...])]
representing all known introspectables. Ifsort_key
isNone
, each introspectables sequence will be returned in the order the introspectables were added to the introspector. Otherwise, sort_key should be a function that accepts an IIntrospectable and returns a value from it (ala thekey
function of Python'ssorted
callable).
- get(category_name, discriminator, default=None)¶
Get the IIntrospectable related to the category_name and the discriminator (or discriminator hash)
discriminator
. If it does not exist in the introspector, return the value ofdefault
- get_category(category_name, default=None, sort_key=None)¶
Get a sequence of dictionaries in the form
[{'introspectable':IIntrospectable, 'related':[sequence of related IIntrospectables]}, ...]
where each introspectable is part of the category associated withcategory_name
.If the category named
category_name
does not exist in the introspector the value passed asdefault
will be returned.If
sort_key
isNone
, the sequence will be returned in the order the introspectables were added to the introspector. Otherwise, sort_key should be a function that accepts an IIntrospectable and returns a value from it (ala thekey
function of Python'ssorted
callable).
- relate(*pairs)¶
Given any number of
(category_name, discriminator)
pairs passed as positional arguments, relate the associated introspectables to each other. The introspectable related to each pair must have already been added via.add
or.add_intr
; aKeyError
will result if this is not true. An error will not be raised if any pair has already been associated with another.This method is not typically called directly, instead it's called indirectly by
pyramid.interfaces.IIntrospector.register()
Return a sequence of IIntrospectables related to the IIntrospectable
intr
. Return the empty sequence if no relations for exist.
- remove(category_name, discriminator)¶
Remove the IIntrospectable related to
category_name
anddiscriminator
from the introspector, and fix up any relations that the introspectable participates in. This method will not raise an error if an introspectable related to the category name and discriminator does not exist.
- unrelate(*pairs)¶
Given any number of
(category_name, discriminator)
pairs passed as positional arguments, unrelate the associated introspectables from each other. The introspectable related to each pair must have already been added via.add
or.add_intr
; aKeyError
will result if this is not true. An error will not be raised if any pair is not already related to another.This method is not typically called directly, instead it's called indirectly by
pyramid.interfaces.IIntrospector.register()
- interface IActionInfo[source]¶
Class which provides code introspection capability associated with an action. The ParserInfo class used by ZCML implements the same interface.
- __str__()¶
Return a representation of the action information (including source code from file, if possible)
- file¶
Filename of action-invoking code as a string
- line¶
Starting line number in file (as an integer) of action-invoking code.This will be
None
if the value could not be determined.
- interface IAssetDescriptor[source]¶
Describes an asset.
- abspath()¶
Returns an absolute path in the filesystem to the asset.
- absspec()¶
Returns the absolute asset specification for this asset (e.g.
mypackage:templates/foo.pt
).
- exists()¶
Returns True if asset exists, otherwise returns False.
- isdir()¶
Returns True if the asset is a directory, otherwise returns False.
- listdir()¶
Returns iterable of filenames of directory contents. Raises an exception if asset is not a directory.
- stream()¶
Returns an input stream for reading asset contents. Raises an exception if the asset is a directory or does not exist.
- interface IResourceURL[source]¶
- physical_path¶
The physical url path of the resource as a string.
- physical_path_tuple¶
The physical url path of the resource as a tuple. (New in 1.5)
- virtual_path¶
The virtual url path of the resource as a string.
- virtual_path_tuple¶
The virtual url path of the resource as a tuple. (New in 1.5)
- interface ICacheBuster[source]¶
A cache buster modifies the URL generation machinery for
static_url()
. See Cache Busting.New in version 1.6.
- __call__(request, subpath, kw)¶
Modifies a subpath and/or keyword arguments from which a static asset URL will be computed during URL generation.
The
subpath
argument is a path of/
-delimited segments that represent the portion of the asset URL which is used to find the asset. Thekw
argument is a dict of keywords that are to be passed eventually tostatic_url()
for URL generation. The return value should be a two-tuple of(subpath, kw)
wheresubpath
is the relative URL from where the file is served andkw
is the same input argument. The return value should be modified to include the cache bust token in the generated URL.The
kw
dictionary contains extra arguments passed tostatic_url()
as well as some extra items that may be usful including:
pathspec
is the path specification for the resource to be cache busted.
rawspec
is the original location of the file, ignoring any calls topyramid.config.Configurator.override_asset()
.The
pathspec
andrawspec
values are only different in cases where an asset has been mounted into a virtual location usingpyramid.config.Configurator.override_asset()
. For example, with a call torequest.static_url('myapp:static/foo.png'), the ``pathspec
ismyapp:static/foo.png
whereas therawspec
may bethemepkg:bar.png
, assuming a call toconfig.override_asset('myapp:static/foo.png', 'themepkg:bar.png')
.
- interface IViewDeriver[source]¶
- __call__(view, info)¶
Derive a new view from the supplied view.
View options, package information and registry are available on
info
, an instance ofpyramid.interfaces.IViewDeriverInfo
.The
view
is a callable accepting(context, request)
.
- options¶
A list of supported options to be passed to
pyramid.config.Configurator.add_view()
. This attribute is optional.
- interface IViewDeriverInfo[source]¶
An object implementing this interface is passed to every view deriver during configuration.
- exception_only¶
The view will only be invoked for exceptions
- options¶
The view options passed to the view, including any default values that were not overriden
- original_view¶
The original view object being wrapped
- package¶
The "current package" where the view configuration statement was found
- predicates¶
The list of predicates active on the view
- registry¶
The "current" application registry where the view was created
- settings¶
The deployment settings dictionary related to the current application
- interface IPredicateFactory[source]¶
- __call__(value, info)¶
Create a a
IPredicate
instance for a specific value.
- interface IPredicateInfo[source]¶
- maybe_dotted(value)¶
Resolve the dotted Python name
dotted
to a global Python object. Ifdotted
is not a string, return it without attempting to do any name resolution. Ifdotted
is a relative dotted name (e.g..foo.bar
, consider it relative to thepackage
.
- package¶
The "current package" where the predicate configuration statement was found
- registry¶
The "current" application registry where the predicate was invoked
- settings¶
The deployment settings dictionary related to the current application
- interface IPredicate[source]¶
- phash()¶
A unique string for the predicate containing both the name and value.
Often implementations simply set
phash = text
.
- text()¶
A textual description of the predicate used in the introspector.
For example,
'content_type = application/json'
for aContentTypePredicate
with avalue == 'application/json'
.
- interface IRoutePredicate[source]¶
Extends:
pyramid.interfaces.IPredicate
- __call__(info, request)¶
The
info
object is a dictionary containing two keys:
"match" is a dictionary of parameters that becomes
request.matchdict
if the route is selected (all route predicates match)."route" is the
IRoute
object being matched.Return
True
if the route should be selected orFalse
otherwise.
- interface ISubscriberPredicate[source]¶
Extends:
pyramid.interfaces.IPredicate
- __call__(*args)¶
The
args
is usually just a singleevent
argument sent toregistry.notify
.Return
True
if the subscriber should be executed for the given arguments orFalse
otherwise.
- interface IViewPredicate[source]¶
Extends:
pyramid.interfaces.IPredicate
- __call__(context, request)¶
Return
True
if the view should be selected for the given arguments orFalse
otherwise.