[Python-Dev] PEP 3144 review. (original) (raw)
Barry Scott barry at barrys-emacs.org
Sat Sep 26 15:23:14 CEST 2009
- Previous message: [Python-Dev] PEP 3144 review.
- Next message: [Python-Dev] PEP 3144 review.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 16 Sep 2009, at 01:05, Peter Moody wrote:
On Tue, Sep 15, 2009 at 4:34 PM, Scott Dial <scott+python-dev at scottdial.com> wrote:
R. David Murray wrote:
On Tue, 15 Sep 2009 at 21:58, Antoine Pitrou wrote:
Le mardi 15 septembre 2009 à 15:48 -0400, R. David Murray a écrit :
However, I do not think that the proposed API should accept, eg, IPv4Network ('192.168.1.1/24') as valid. That's just too confusing and error prone.
Indeed, it should throw some kind of ValueError instead. Peter, what do you think? I disagree. It seems overly pedantic to throw a valueerror on this. IPy does (used to do?) this and it's one of the primary reasons I wrote ipaddr.
I've seen user interfaces accept 192.168.1.1/24 as a short cut to set the ipaddr and netmask on an interface.
For that use being able to parse that string into an IP Address and a Net Mask is what they want.
If this is a common idiom having a utility function that returned an IPv4Address('192.168.1.1') and IPv4Network('192.168.0.0') would be useful.
If someone really thinks that '192.168.1.1/16' is a network any good UI should detect it is invalid report that to the user.
If you think this is a decision that the only the caller can decide why not add a keyword param to control the parsing?
IPv4Network( '192.168.1.1/16', syntax='loose' )
(I'm sure syntax='loose' is not right but you get the idea.)
Barry
- Previous message: [Python-Dev] PEP 3144 review.
- Next message: [Python-Dev] PEP 3144 review.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]