diff options
author | root <root@pigstarter.retiolum> | 2013-06-24 17:24:49 +0200 |
---|---|---|
committer | root <root@pigstarter.retiolum> | 2013-06-24 17:24:49 +0200 |
commit | fe1f4dec340c121e43d0fca6d1139db694b2c48b (patch) | |
tree | f8c91b480fef621ef960ee11d2fd9cafb59cfb41 /retiolum/scripts/adv_graphgen/find-all-nodes.py | |
parent | d5751b4a5132522b38c611e6bfd79537e927db50 (diff) |
refactor tinc_stats into a single python module
Diffstat (limited to 'retiolum/scripts/adv_graphgen/find-all-nodes.py')
-rw-r--r-- | retiolum/scripts/adv_graphgen/find-all-nodes.py | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/retiolum/scripts/adv_graphgen/find-all-nodes.py b/retiolum/scripts/adv_graphgen/find-all-nodes.py deleted file mode 100644 index ae0fae8f..00000000 --- a/retiolum/scripts/adv_graphgen/find-all-nodes.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/python - -def find_potential_super(path="/etc/tinc/retiolum/hosts"): - import os - import re - - needle_addr = re.compile("Address\s*=\s*(.*)") - needle_port = re.compile("Port\s*=\s*(.*)") - for f in os.listdir(path): - with open(path+"/"+f) as of: - addrs = [] - port = "655" - - for line in of.readlines(): - - addr_found = needle_addr.match(line) - if addr_found: - addrs.append(addr_found.group(1)) - - port_found = needle_port.match(line) - if port_found: - port = port_found.group(1) - - if addrs : yield (f ,[(addr ,int(port)) for addr in addrs]) - -def try_connect(addr): - try: - from socket import socket,AF_INET,SOCK_STREAM - s = socket(AF_INET,SOCK_STREAM) - s.settimeout(2) - s.connect(addr) - s.settimeout(None) - s.close() - return addr - except Exception as e: - pass - #return () - -def check_one_super(ha): - host,addrs = ha - valid_addrs = [] - for addr in addrs: - ret = try_connect(addr) - if ret: valid_addrs.append(ret) - if valid_addrs: return (host,valid_addrs) - -def check_all_the_super(path="/etc/tinc/retiolum/hosts"): - from multiprocessing import Pool - p = Pool(20) - return filter(None,p.map(check_one_super,find_potential_super(path))) - - - -if __name__ == "__main__": - """ - usage - """ - for host,addrs in check_all_the_super(): - print host,addrs |