Remove absolute_import requirements
Try to get md5 from md5.py not just hashlib
Rename urlparse.py to avoid import issues
Avoid a val if cond else val
Don't use a context manager to call .close()
Use nested try for try/except/finally in py2.4
Rename logging logging_handler for absolute imports
Update urlparse with backported version from pypy2.7
Use internal implementation of all()
dicts don't have __missing__ in python2.4, use a function instead
Remove funcName and extra parameters from the LogRecord as they're not present in Python2.4
Some Zope specific fixes for python2.4 to prevent infinite recursion
Put funcName back in by monkeypatching logging.Logger
Improvements to the Zope logger
Teach the Zope handler how to insert stack traces and exception values, and prefer that information over the Message info from the SiteErrorLog