[spambayes-dev] A new and altogether different bsddb breakage

hooft at o2w.nl hooft at o2w.nl
Wed Dec 17 00:35:43 EST 2003


> [Kenny Pitt]
>> I get the same results as Tim using the 2.3.2 final version: Python
>> 2.3.2 (#49, Oct  2 2003, 20:02:00) [MSC v.1200 32 bit (Intel)] on
>> win32
>>
>> In my 2.3.2 lib, the "return self.db[key]" line in __getitem__ is on
>> line 116 of __init__.py, not line 86 as in Richie's traceback.  I
>> could expect some changes between Python 2.3 and 2.3.2, but 30 lines
>> seems a bit much between minor bugfix releases.  Is that possibly an
>> indicator of a bsddb version mismatch?
>
> It's more an indicator of bugs in 2.3's bsddb support.  __init__.py was
> at rev 1.5 in the 2.3 release, and is at rev 1.12(!) today:
>
> http://cvs.sf.net/viewcvs.py/python/python/dist/src/Lib/bsddb/__init__.py
>
> I see that support for the iterator and mapping protocols wasn't added
> until rev 1.6, which is why they don't work for Richie in 2.3 final.

Imagine the people like me that are using Python2.2 on the systems of
their ISPs:
Python 2.2.2 (#1, Oct 26 2002, 20:34:17)
[GCC 2.96 20000731 (Red Hat Linux 7.2 2.96-108.7.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import shelve
>>> d=shelve.open('.hammiedb')
>>> [k for k in d]
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/local/lib/python2.2/shelve.py", line 70, in __getitem__
    f = StringIO(self.dict[key])
TypeError: key type must be string
>>>

Regards,

Rob Hooft





More information about the spambayes-dev mailing list