Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
Python module for reading and writing DBF files. Originally it was created by Jeff Kunce and later maintained by Hans Fiby.
Bug: Reading (decoding) values '' with dbfpy
When a DBF-file has the * (, , ...) character in one of the fields, an error message appears
'invalid literal for int() with base 10: '***' '
I propose the following change to the decode function:
def decodeValue(self, value):
"""Return a number decoded from ``value``.
If decimals is zero, value will be decoded as an integer;
or as a float otherwise.
Return value is a int (long) or float instance.
value = value.strip(" \0")
if "." in value:
# a float (has decimal separator)
# NEW francisgg: * per whitespaces
if "*" in value:
value=value.replace('*', ' ')
# must be an integer
Finally, I am a beginner and I hope your opinion.