On Tue, 15 Sep 2009 at 18:43, Antoine Pitrou wrote: > R. David Murray <rdmurray <at> bitdance.com> writes: >> >> x = IPv4AddressWithMask('192.168.1.1/24') >> x.network == IPv4Network('192.168.1.0/24') >> x.network[1] == x > > I don't think we need an IPAddressWithMask which would just complicate the API > without any obvious benefit. > We just need a factory function which returns a tuple after parsing: > > >>> addr, net = parse_address_with_mask('192.168.1.1/24') > >>> addr == IPv4Address('192.168.1.1') > True > >>> net == IPv4Network('192.168.1.0/24') > True I would find that acceptable but sub-optimal. Most of my use cases (which involve manipulating router and firewall configuration files) would then start by making a little class named AddressWithNetwork to hold the tuple returned by your parse function, with attributes 'ip' and 'network' and a representation that included the netmask. Other people's use cases would look like addr, _ = parse_address... An IPv4Address with 'network' and 'mask' attributes that could be None would also not complicate the API, IMO, and would handle both of these use cases. --David
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