
3 changed files with 47 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||
import argparse |
|||
|
|||
import netaddr |
|||
|
|||
|
|||
def read(fh): |
|||
for line in fh: |
|||
yield line.rstrip() |
|||
|
|||
fh.close() |
|||
|
|||
|
|||
def merge(fh): |
|||
for addr in netaddr.cidr_merge(read(fh)): |
|||
print(addr) |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
parser = argparse.ArgumentParser(description='Merge IP addresses into the smallest possible list of CIDRs.') |
|||
parser.add_argument('--source', nargs='?', type=argparse.FileType('r'), required=True, help='Source file path') |
|||
args = parser.parse_args() |
|||
|
|||
merge(args.source) |
@ -0,0 +1 @@ |
|||
netaddr==0.8.0 |
Loading…
Reference in new issue