mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 07:15:46 +00:00
dda86cd70e
--HG-- extra : rebase_source : d635a4f39c587d4d381b486dd63de747865b77a2
31 lines
902 B
Python
31 lines
902 B
Python
# this comes from this stack overflow post:
|
|
# http://stackoverflow.com/a/1947766/725944
|
|
|
|
# module for getting the lan ip address of the computer
|
|
|
|
import os
|
|
import socket
|
|
|
|
if os.name != "nt":
|
|
import fcntl
|
|
import struct
|
|
def get_interface_ip(ifname):
|
|
sckt = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
return socket.inet_ntoa(fcntl.ioctl(
|
|
sckt.fileno(),
|
|
0x8915, # SIOCGIFADDR
|
|
struct.pack('256s', ifname[:15])
|
|
)[20:24])
|
|
|
|
def get_lan_ip():
|
|
ip = socket.gethostbyname(socket.gethostname())
|
|
if ip.startswith("127.") and os.name != "nt":
|
|
interfaces = ["eth0","eth1","eth2","wlan0","wlan1","wifi0","ath0","ath1","ppp0"]
|
|
for ifname in interfaces:
|
|
try:
|
|
ip = get_interface_ip(ifname)
|
|
break
|
|
except IOError:
|
|
pass
|
|
return ip
|