User:Mstone/Tricks: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 1: | Line 1: | ||
; verbose python tracebacks |
|||
==== Verbose Python Tracebacks ==== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
; pythonic relations |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
==== Pythonic relations ==== |
|||
⚫ | |||
; rpm makefiles |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
: [https://launchpad.net/pymeta pymeta] makes it easy to pick the right response to complicated input. |
|||
; python gdb macros |
|||
⚫ | |||
⚫ | |||
; python memory profiling |
|||
⚫ | |||
: [http://dev.laptop.org/git/users/mstone/guppy guppy] + Tomeu's [[memory leak testing]] writeup. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
; code to make pylint happy |
|||
==== RPM Makefiles ==== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | [http://dev.laptop.org/git?p=users/mstone/triagebot;a=blob;f=grammar.py;hb=grammar triagebot] is based on a model-view-controller architecture where the controller object is assembled at runtime based on data collected with a metaclass. |
||
==== Python GDB Macros ==== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
==== Eschew object-orientation ==== |
|||
⚫ | |||
⚫ | |||
⚫ |
Revision as of 00:53, 24 September 2008
- 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
- python memory profiling
- guppy + Tomeu's memory leak testing writeup.
- tree-based python context management
- puritan's main.py
- code to make pylint happy
- 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.