On Thu, Apr 12, 2012 at 07:37:46PM -0400, Tres Seaver wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> On 04/11/2012 03:57 AM, Brian Sutherland wrote:
> > Hi,
> > I'd like to merge 2 branches which get zope.configuration's tests
> > running on Python 3.3. Here is an overview (with patches attached):
> > zope.schema:
> > *
> > svn+ssh://svn.zope.org/repos/main/zope.schema/branches/jinty-native_string
> > * This branch corrects a mistake I think I made in the zope.schema
> > Python3 port. After my experience with the zope.configuration port I
> > now think that the URI field should be a "native" string rather than
> > bytes.
> > Unfortunately this change is backwards incompatible for Python 3 users
> > of zope.schema. But I think the number users of zope.schema under
> > Python 3 are rather small at this point.
> > * I make public NativeString and NativeStringLine classes. These are
> > equivalent to the Bytes type under Python 2 and the Text type under
> > Python 3. Please devote some bikeshedding energy to better names for
> > these classes ;)
> > zope.configuration:
> > *
> > svn+ssh://svn.zope.org/repos/main/zope.configuration/branches/jinty-python3
> > * Adds a dependency on six
> > * Drops Python 2.4 and 2.5 compatibility
> > To run the tests of the zope.configuration branch you currently need
> > to use the zope.interface trunk.
> > If there are no objections, I'll merge in a few weeks or so.
> How deep is the six dependency? For every package I've ported to date,
> it has ended up being more sensible to implement a local '_compat' module
> which had only the needed straddles (sometimes inspired by six, sometimes
> very localized).
I'm sure you can get away without it. But having functions from six
copied into huge numbers of zope.* packages made my skin crawl. As Jim
said "a huge DRY violation".
> Also, do your branches still pass tests on 3.2.x?
Yes for zope.schema
No for zope.configuration, but that can be fixed by changing u'' to
u('') in a lot of places.
> I'm sort of keen to
> see both zope.schema and zope.configuration join the "2to3-free" camp
zope.schema's already there, my branch is only fixing what I consider to
be a bug in the Python 3 port.
> with zope.event, zope.interface, zope.i18nmessageid, and zope.exceptions
> (yes, zope.configuration, I'm looking at you next).
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -