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