This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients barry, eli.bendersky, ethan.furman, gvanrossum, ncoghlan, neologix, pitrou, serhiy.storchaka
Date 2013-08-14.13:11:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1508259875.62132507.1376485905054.JavaMail.root@zimbra10-e2.priv.proxad.net>
In-reply-to <CAF-Rda-8uZwUQSZJw0d=dbnrCtDr+EaOeSqfQhKws_rz_TjHNg@mail.gmail.com>
Content
> Can you clarify which duplication you mean specifically? In the code
> review
> tool, Serhiy proposed that instead of listing all the constants
> explicitly
> in the Python code, we can just do:
> 
> AddressFamily = IntEnum('AddressFamily',
>            {name: value for name, value in _moduledict.items()
>             if name.startswith('AF_')})

Yes, that's better.

> > Also, if I create a socket from a numeric value (because a
> > well-known
> > socket family is known yet known by Python), then socket.family
> > will fail.
> >
> 
> Well, the documentation of socket.socket says it should be one of the
> AF_*
> constants. One thing we can do is check in the socket.socket
> constructor
> whether it's a known AF_* constants and fail early with a meaningful
> error
> message. Would that be better?

Well, no. We should still allow creating sockets with unknown numeric
values. The .family attribute should then return the raw integer.
History
Date User Action Args
2013-08-14 13:11:51pitrousetrecipients: + pitrou, gvanrossum, barry, ncoghlan, eli.bendersky, neologix, ethan.furman, serhiy.storchaka
2013-08-14 13:11:51pitroulinkissue18720 messages
2013-08-14 13:11:51pitroucreate