Go to the latest version of this document.
search in docstrings

Search bar offers the following options:

- Term presence. The below example searches for documents that must contain “foo”, might contain “bar” and must not contain “baz”: `+foo bar -baz`
- Wildcards. The below example searches for documents with words beginning with “foo”: `foo*`
- Search in specific fields. The following search matches all objects in "twisted.mail" that matches “search”: `+qname:twisted.mail.* +search`

  Possible fields: 'name', 'qname' (fully qualified name), 'docstring', and 'kind'. Last two fields are only applicable if "search in docstrings" is enabled.

- Fuzzy matches. The following search matches all documents that have a word within 1 edit distance of “foo”: `foo~1`

Results provided by Lunr.js

# ``twisted`.`python`.`context`.`ContextTracker``

class documentation

`class ContextTracker: (source)`

View In Hierarchy

A `ContextTracker` provides a way to pass arbitrary key/value data up and down a call stack without passing them as parameters to the functions on that call stack.

This can be useful when functions on the top and bottom of the call stack need to cooperate but the functions in between them do not allow passing the necessary state. For example:

        from twisted.python.context import call, get

        def handleRequest(request):
            call({'request-id': request.id}, renderRequest, request.url)

        def renderRequest(url):
            renderHeader(url)
            renderBody(url)

        def renderHeader(url):
            return "the header"

        def renderBody(url):
            return "the body (request id=%r)" % (get("request-id"),)

This should be used sparingly, since the lack of a clear connection between the two halves can result in code which is difficult to understand and maintain.

Method | `__init__` | Undocumented
Method | `callWithContext` | Call `func(*args, **kw)` such that the contents of `newContext` will be available for it to retrieve using `getContext`.
Method | `getContext` | Retrieve the value for a key from the context.
Instance Variable | `contexts` | A `list` of `dict`s tracking the context state. Each new `ContextTracker.callWithContext` pushes a new `dict` onto this stack for the duration of the call, making the data available to the function called and restoring the previous data once it is complete...

def __init__(self): (source)

Undocumented

def callWithContext(self, newContext, func, *args, **kw): (source)

Call `func(*args, **kw)` such that the contents of `newContext` will be available for it to retrieve using `getContext`.

Parameters
newContext | A `dict` of data to push onto the context for the duration of the call to `func`.
func | A callable which will be called.
*args | Any additional positional arguments to pass to `func`.
**kw | Any additional keyword arguments to pass to `func`.
Returns
Whatever is returned by `func`
Raises
`Exception` | Whatever is raised by `func`.

def getContext(self, key, default=None): (source)

Retrieve the value for a key from the context.

Parameters
key | The key to look up in the context.
default | The value to return if `key` is not found in the context.
Returns
The value most recently remembered in the context for `key`.

contexts = (source)

A `list` of `dict`s tracking the context state. Each new `ContextTracker.callWithContext` pushes a new `dict` onto this stack for the duration of the call, making the data available to the function called and restoring the previous data once it is complete..