Home | Trees | Indices | Help |
|
---|
|
Range of ip addresses.
Converts a CIDR notation address, tuple of ip addresses or start and end addresses into a smart object which can perform ``in`` and ``not in`` tests and iterate all of the addresses in the range.
>>> r = IpRange('127.0.0.1', '127.255.255.255') >>> '127.127.127.127' in r True
>>> '10.0.0.1' in r False
>>> 2130706433 in r True
>>> r = IpRange('127/24') >>> print(r) ('127.0.0.0', '127.0.0.255')
>>> r = IpRange('127/30') >>> for ip in r: ... print(ip) 127.0.0.0 127.0.0.1 127.0.0.2 127.0.0.3
>>> print(IpRange('127.0.0.255', '127.0.0.0')) ('127.0.0.0', '127.0.0.255')
|
|||
|
|||
|
|||
|
|||
|
|||
Inherited from |
|
|||
Inherited from |
|
Args: start: Ip address in dotted quad format or CIDR notation or tuple of ip addresses in dotted quad format end: Ip address in dotted quad format or None
|
>>> print(IpRange('127.0.0.1')) ('127.0.0.1', '127.0.0.1') >>> print(IpRange('10/8')) ('10.0.0.0', '10.255.255.255') >>> print(IpRange('127.0.0.255', '127.0.0.0')) ('127.0.0.0', '127.0.0.255')
|
Implements membership test operators `in` and `not in` for the address range. >>> r = IpRange('127.0.0.1', '127.255.255.255') >>> '127.127.127.127' in r True >>> '10.0.0.1' in r False >>> 2130706433 in r True >>> 'invalid' in r Traceback (most recent call last): ... TypeError: expected dotted-quad ip address or 32-bit integer Args: item: Dotted-quad ip address Returns: True if address is in range, False otherwise |
Return an iterator over the range. >>> iter = IpRange('127/31').__iter__() >>> next(iter) '127.0.0.0' >>> next(iter) '127.0.0.1' >>> next(iter) Traceback (most recent call last): ... StopIteration |
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Oct 17 13:43:32 2011 | http://epydoc.sourceforge.net |