Peter Moody <peter <at> hda3.com> writes: > > >>>> 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. Python is not PHP and does not try to be overly "smart" or tolerant when faced with bizarrely-formatted input. I don't see any valid reason for entering a network as "192.168.1.1/24" rather than the canonical "192.168.1.0/24". The former might indicate a typing error or a mental slip, so let's be helpful and signal it to the user. > for addr in ipaddr.IPv4Network('1.1.1.0/24').iterwithnetmask(): > # 1.1.1.0/24, 1.1.1.1/24, 1.1.1.2/24... I don't have any strong feelings about it, although I don't really think it is needed, and a plethoric API is not a good thing (neither clarity-wise nor maintenance-wise). > this can be done much more cleanly/easily than adding two new > (redundant in my eyes) classes and much less pedantically than raising > exceptions w/ IPv?Network() constructor received something other than > base network address. I don't think anybody suggested adding two classes. As for the "pedantry" of thoroughly validating inputs, see above. Regards Antoine.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4