Mercurial > hg > silvermirror
comparison silvermirror/utils.py @ 11:0c11c8102fba
more robust way of getting interfaces
author | k0s <k0scist@gmail.com> |
---|---|
date | Wed, 17 Feb 2010 16:17:25 +0000 |
parents | abb358e2434c |
children | d081ca2e8696 |
comparison
equal
deleted
inserted
replaced
10:c69fb6d00ece | 11:0c11c8102fba |
---|---|
7 # XXX needed? better way of doing? | 7 # XXX needed? better way of doing? |
8 return os.environ['HOME'] | 8 return os.environ['HOME'] |
9 | 9 |
10 def ip_addresses(): | 10 def ip_addresses(): |
11 """dictionary of ip4 addresses for the machine""" | 11 """dictionary of ip4 addresses for the machine""" |
12 interfaces = [] | |
13 for i in netifaces.interfaces(): | |
14 try: | |
15 value = netifaces.ifaddresses(i).get(2) | |
16 if value: | |
17 interfaces.append(i) | |
18 except ValueError: | |
19 continue | |
20 | |
12 return dict([(i, netifaces.ifaddresses(i)[2][0]['addr']) | 21 return dict([(i, netifaces.ifaddresses(i)[2][0]['addr']) |
13 for i in netifaces.interfaces() | 22 for i in interfaces |
14 if netifaces.ifaddresses(i).get(2) | |
15 ]) | 23 ]) |
16 | 24 |
17 if __name__ == '__main__': | 25 if __name__ == '__main__': |
18 for name, value in sorted(ip_addresses().items()): | 26 for name, value in sorted(ip_addresses().items()): |
19 print '%s : %s' % (name, value) | 27 print '%s : %s' % (name, value) |