withhacks 0.1.1
building blocks for with-statement-related hackery
withhacks: building blocks for with-statement-related hackery
This module is a collection of useful building-blocks for hacking the Python “with” statement. It combines ideas from several neat with-statement hacks I found around the internet into a suite of re-usable components:
By subclassing the appropriate context managers from this module, you can easily do things such as:
- skip execution of the code inside the with-statement
- set local variables in the frame executing the with-statement
- capture the bytecode from inside the with-statement
- capture local variables defined inside the with-statement
Building on these basic tools, this module also provides some useful prebuilt hacks:
xargs: call a function with additional arguments defined in the body of the with-statement xkwargs: call a function with additional keyword arguments defined in the body of the with-statement namespace: direct all variable accesses and assignments to the attributes of a given object (like “with” in JavaScript or VB) keyspace: direct all variable accesses and assignments to the keys of of a given object (like namespace() but for dicts)
WithHacks makes extensive use of Noam Raphael’s fantastic “byteplay” module; since the official byteplay distribution doesn’t support Python 2.6, a local version with appropriate patches is included in this module.
| File | Type | Py Version | Uploaded on | Size | |
|---|---|---|---|---|---|
| withhacks-0.1.1.tar.gz (md5) | Source | 2010-01-22 | 17KB | ||
- Author: Ryan Kelly
- Home Page: http://github.com/rfk/withhacks
- Keywords: context manager with statement
- License: MIT
- Package Index Owner: rfk
- DOAP record: withhacks-0.1.1.xml
