Home
TidBits
BLong
Source
GBuffy
Mutt
ClearSilver
Python
PyApache
PalmOS Tools
Here are some useful Python classes/modules that I've used from time to time:
For the full listing, you can go here.The VirtualBrowser is a scriptable browser. You can use it to test web pages, or from scripts that need access to web pages. It supports cookies, HTTP Basic Authentication, HTTP POST and none-HTTP URLs. This version is using timeoutsocket.py from Timothy O'Malley, as well as a modified version of the Cookie.py module from (also by Tim O'Malley) the Webware project.
VirtualBrowser.py - Cookie.py - timeoutsocket.py
html2text is a simple module for converting HTML to text. Its really brain dead and slow... but it does an ok job on some HTML messages.
fetchnews is a simple script for fetching news from a server, and placing the articles into an MBOX. I use it for archiving certain newsgroups.
who_calls is a module which contains a couple of useful routines for generating tracebacks and dumping information about objects with high reference counts (useful for debugging memory "leaks" in python). Based on original code from Sam Rushing
rbl is a simple module for using the standard python socket API for doing DNS lookups against the various RBL spam guards.
SafeHTML is designed to take a piece of HTML, and remove tags and javascript, etc, to make the HTML safe to display. When accepting user input in HTML, one must be very careful about displaying it, because it could have malacious properties when displayed to other users (stealing cookies, running exploits against their machines, etc).
SafeHtml.py - PassSGMLParser.py
The purpose of this script is to generate a log, the standard-ish rcs2log format, of all the changes that have been made between two tagged CVS versions. This is very similar to rcs2log (and even uses that) but will remove the changes that existed in the previous version: ie it will generate a log of TAG1 > log >= TAG2
The purpose of this script is to generate a log of all the changes that have been made between two perforce depot labels. This is similar to the above, but doesn't take as much work (again, it is necessary in order to not include changes made in the first label)