[Zope-Coders] Re: BTrees, Unicode, and Python 2.2

Andreas Jung Andreas Jung" <andreas@zope.com
Thu, 18 Oct 2001 12:23:31 -0400


Try to run it with 2.1 not with 2.2. As discussed yesterday
the error behaviour differs from 2.1 to 2.2

Andreas
----- Original Message -----
From: "Guido van Rossum" <guido@python.org>
To: "Andreas Jung" <andreas@zope.com>
Cc: "Guido van Rossum" <guido@python.org>; <jeremy@zope.com>;
<jim@zope.com>; <zope-coders@zope.org>
Sent: Thursday, October 18, 2001 12:16
Subject: Re: [Zope-Coders] Re: BTrees, Unicode, and Python 2.2


> > lib/python/BTrees/tests/testBTreesUnicode.py in the trunk.
> >
> > When accessing the unicode key is prints <unprintable object>
>
> I don't find the string "<unprintable object>" anywhere in the Python
> or Zope source.  There are near misses though: the Python module
> traceback.py and the Zope module lib/python/ZPublisher/HTTPResponse.py
> both contain the string "<unprintable %s object>" where the %s is
> replaced with a type name.
>
> I can't reproduce your problem.  Regardless of which variant of the
> test file I run, I always get this result:
>
>
>
> $ python utilities/testrunner.py -f
lib/python/BTrees/tests/testBTreesUnicode.py
> Adding /home/guido/Zope/lib/python to sys.path.
> Running: lib/python/BTrees/tests/testBTreesUnicode.py
> check every item of the tree ... ERROR
> try to access unicode keys in tree ... ERROR
>
> ======================================================================
> ERROR: check every item of the tree
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "testBTreesUnicode.py", line 23, in setUp
>     for k,v in self.data:   self.tree[k]=v
> UnicodeError: ASCII decoding error: ordinal not in range(128)
>
> ======================================================================
> ERROR: try to access unicode keys in tree
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "testBTreesUnicode.py", line 23, in setUp
>     for k,v in self.data:   self.tree[k]=v
> UnicodeError: ASCII decoding error: ordinal not in range(128)
>
> ----------------------------------------------------------------------
> Ran 2 tests in 0.014s
>
> FAILED (errors=2)
>
> ======================================================================
> OVERALL FAILED (total errors=2)
>
>
>
> Is this what you get?  If not, please be specific about what you *do*
> get -- and how you run the test.
>
> Are you using a recent enough Python 2.2 from CVS?  I fixed a bug
> yesterday that *might* affect this (it fixed problems that Jeremy
> experienced when running the Zope test suite with Python 2.2).
>
> Note that the error reported here are to be expected -- you cannot
> compare 8-bit strings and Unicode strings when some of the characters
> of the 8-bit string have the high bit set (i.e. are not pure ASCII).
> If you need to compare such a pair, you must convert the 8-bit string
> to Unicode using an explicitly given encoding before attempting to
> compare.
>
> --Guido van Rossum (home page: http://www.python.org/~guido/)
>