Jeff Beardsley wrote:
HISTORY:
In using python 2.7.2 for awhile on a web project (apache/wsgi web.py), I
discovered a problem in using decimal.Decimal. A short search revealed that
many other people have been having the problem as well, in their own
apache/wsgi implementations (django, mostly), but I found no real solutions
among the posts I read. So I did some experimentation of my own.
The following code will break unexpectedly on standard python2.7 (and earlier)
because of the way that isinstance fails after reload() (which is called by
both of the above web frameworks).
This is the error: TypeError("Cannot convert %r to Decimal" % value)
THE TEST CODE
import decimal
from decimal import Decimal
#this works
Decimal(Decimal())
reload(decimal)
#this fails before patching, but works fine afterwards
Decimal(Decimal())
Patching decimal.py to make it work with reload() is probably not going
to happen.
What you should be doing is:
import decimal
from decimal import Decimal
reload(decimal)
Decimal = decimal.Decimal # (rebind 'Decimal' to the reloaded code)
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list