Re: Python 3.3 port of zope.configuration

Brian Sutherland <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
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).

-- 
Brian Sutherland
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.