annotate silvermirror/utils.py @ 40:d081ca2e8696

py35
author Jeff Hammel <k0scist@gmail.com>
date Mon, 20 Feb 2017 15:02:50 -0800
parents 0c11c8102fba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
40
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
5 import sys
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
6
0
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
7
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
8 def home():
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
9 # 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
10 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
11
40
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
12
0
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
13 def ip_addresses():
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
14 """dictionary of ip4 addresses for the machine"""
11
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
15 interfaces = []
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
16 for i in netifaces.interfaces():
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
17 try:
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
18 value = netifaces.ifaddresses(i).get(2)
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
19 if value:
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
20 interfaces.append(i)
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
21 except ValueError:
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
22 continue
0c11c8102fba more robust way of getting interfaces
k0s <k0scist@gmail.com>
parents: 0
diff changeset
23
0
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
24 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
25 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
26 ])
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
27
40
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
28
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
29 def main(args=sys.argv[1:]):
0
abb358e2434c initial commit of silvermirror, from http://my-svn.assembla.com/svn/arbez/silvermirror
k0s <k0scist@gmail.com>
parents:
diff changeset
30 for name, value in sorted(ip_addresses().items()):
40
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
31 print ('%s : %s' % (name, value))
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
32
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
33
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
34 if __name__ == '__main__':
Jeff Hammel <k0scist@gmail.com>
parents: 11
diff changeset
35 main()