Peter Moody wrote:
you can't set them directly, if that's what you mean.
import ipaddr o = ipaddr.IPv4Network('1.1.1.0/24') o.broadcast IPv4Address('1.1.1.255') o.network IPv4Address('1.1.1.0') o.broadcast = ipaddr.IPv4Address('1.1.1.127') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: can't set attribute o.prefixlen = 25 o.broadcast IPv4Address('1.1.1.127')
IPAddress instances should definitely be hashable, but as long as "prefixlen" is mutable, IPNetwork instances should *not* be hashable, since their value can change. If prefixlen was made read only, then IPNetwork instances could also be made hashable. In that case, changing the prefix length would then have to be done by creating a new instance. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia ---------------------------------------------------------------