Python IP addresses: Provide ipaddrset.py library
[secnet] / ipaddrset-test.py
CommitLineData
6437945a
IJ
1#!/usr/bin/python
2
3import sys
4import copy
5import os
6saved_path=copy.copy(sys.path)
7for p in ['','.',os.getcwd()]:
8 try: sys.path.remove(p)
9 except ValueError: pass
10
11import ipaddr
12from ipaddr import IPNetwork, IPAddress
13
14sys.path=saved_path
15
16import ipaddrset
17from ipaddrset import IPAddressSet
18
19v4a=IPAddress('172.18.45.6')
20
21s=IPAddressSet()
22print 's =', s
23s.append([IPNetwork('172.18.45.0/24')])
24s.append([IPNetwork('2001:23:24::/40')])
25print s
26
27t=IPAddressSet(map(IPNetwork,['172.31.80.8/32','172.18.45.192/28']))
28print 't =', t
29print t <= s
30print t == s
31
32for n1s in ['172.18.44.0/23','172.18.45.6/32','172.18.45.0/24']:
33 n1=IPNetwork(n1s)
34 print n1
35 print s.contains(n1)
36 print t.contains(n1)
37
38n=s.networks()[0]
39
40a=ipaddrset.complete_set()
41print 'a =', a
42print a >= s
43print a >= t
44
45print '^'
46print s.intersection(t)
47print t.intersection(s)
48
49print 'u'
50print s.union(t)
51print t.union(s)