Re: zope.schema and Python 3

Lennart Regebro <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <CAL0kPAUp6paWasS0ZhCn_gPTFR8VnR4TkNnTHhigqDC6TjAmYg@mail.gmail.com>
On Tue, Oct 11, 2011 at 10:22, Brian Sutherland <[email protected]> wrote:
> On Mon, Oct 10, 2011 at 01:14:26PM +0200, Brian Sutherland wrote:
>> I've managed to port zope.schema to Python 3.2 on a branch
>> (jinty-python3).
>
> One doubt which has just crept up on me is if these classes:
>
>    ASCII, ASCIILine, URI, Id, DottedName
>
> should still inherit from Bytes on Python 3. It seems more logical that
> they should inherit from Text. I had to do some gymnastics to keep them
> bytes on python 3 and feel all dirty about it.
>
> DottedName, in particular, describes itself as "Python-style dotted
> names". But in Python 3 this code works:
>
>    >>> from 漢語 import Español
>    >>> print(Español)
>    <class '漢語.Español'>
>
> so a DottedName could be '漢語.Español' under Python 3. Definitely
> unicode and not Bytes.
>
> However, changing the behaviour of these classes between Python 2 and 3
> may be even more problematic.
>
> Another option is simply to have these classes raise NotImplementedError
> in their validate() methods under Python 3 and wait till the solution
> becomes more obvious.
>
> Anyone out there willing to assuage my doubts?

It seems to me that they should be `str`, all of them, except possibly
URI. I'm unsure exactly how that changes the behavior. ASCII/ASCIILine
should have validators to restrict them to ASCII only, reasonably, I
don't know if they already do.

//Lennart
_______________________________________________
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.