Mercurial > hg > silvermirror
annotate 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 |
rev | line source |
---|---|
0
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
2 |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
3 import netifaces |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
4 import os |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
5 |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
6 def home(): |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
7 # XXX needed? better way of doing? |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
8 return os.environ['HOME'] |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
9 |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
10 def ip_addresses(): |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
11 """dictionary of ip4 addresses for the machine""" |
11
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
12 interfaces = [] |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
13 for i in netifaces.interfaces(): |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
14 try: |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
15 value = netifaces.ifaddresses(i).get(2) |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
16 if value: |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
17 interfaces.append(i) |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
18 except ValueError: |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
19 continue |
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
20 |
0
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
21 return dict([(i, netifaces.ifaddresses(i)[2][0]['addr']) |
11
0c11c8102fba
more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents:
0
diff
changeset
|
22 for i in interfaces |
0
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
23 ]) |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
24 |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
25 if __name__ == '__main__': |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
26 for name, value in sorted(ip_addresses().items()): |
abb358e2434c
initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff
changeset
|
27 print '%s : %s' % (name, value) |