User:Mstone/Tricks

From OLPC
< User:Mstone
Revision as of 20:48, 23 September 2008 by Mstone (talk | contribs) (pymeta parser-based controllers)
Jump to: navigation, search

Verbose Python Tracebacks

Just import nice_traces; if you're feeling fancy, then consider trace(sys.exc_info())

Handy report() function

See trac_helper.py

Pythonic relations

See my relation module and Alloy (which was my inspiration, though I've made nothing more than a poor knockoff).

Relational error logging

See trac_helper.py and collect-pkgs.py.

Email-based error reporting

See email_warnings.py.

RPM Makefiles

See rpm-packaging as well as individual projects like [1] along with my Fedora packaging bibliography.

pymeta parser-based controllers

triagebot is based on a model-view-controller architecture where the controller object is assembled at runtime based on data collected with a metaclass. pymeta makes it easy to pick the right response to complicated input.

Python GDB Macros

http://wiki.python.org/moin/DebuggingWithGdb

Tree-based python context management

puritan's main.py

Eschew object-orientation

rainbow's inject.py can be automatically checked for many errors by pylint because it passes all data explicitly through function calls.

C error handling

nss-rainbow uses a dash of code-generation to be very consistent about error detection and handling.