Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services/console/lib/net/device.py
diff options
context:
space:
mode:
Diffstat (limited to 'services/console/lib/net/device.py')
-rw-r--r--services/console/lib/net/device.py94
1 files changed, 0 insertions, 94 deletions
diff --git a/services/console/lib/net/device.py b/services/console/lib/net/device.py
deleted file mode 100644
index 17b0ecc..0000000
--- a/services/console/lib/net/device.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright (C) 2007, Eduardo Silva <edsiper@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import socket
-import fcntl
-import struct
-import string
-
-class Device:
- def __init__(self):
- self._dev = self.get_interfaces()
-
- def get_interfaces(self):
- netdevfile = "/proc/net/dev"
- dev = []
-
- try:
- infile = file(netdevfile, "r")
- except:
- print "Error trying " + netdevfile
-
- skip = 0
- for line in infile:
- # Skip first two lines
- skip += 1
- if skip <= 2:
- continue
-
- iface = string.split(line, ":",1)
- arr = string.split(iface[1])
-
- if len(arr) < 10:
- continue
-
- info = {'interface': iface[0].strip(), \
- 'bytes_recv': arr[0],\
- 'bytes_sent': arr[8],\
- 'packets_recv': arr[1],
- 'packets_sent': arr[9]}
-
- dev.append(info)
- return dev
-
- def get_iface_info(self, ifname):
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- hwaddr = []
- try:
- ip = socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915, \
- struct.pack('256s', ifname[:15]))[20:24])
- except:
- ip = None
-
- try:
- netmask = socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x891b, \
- struct.pack('256s', ifname[:15]))[20:24])
- except:
- netmask = None
-
- try:
- mac = []
- info = fcntl.ioctl(s.fileno(), 0x8927, \
- struct.pack('256s', ifname[:15]))
- for char in info[18:24]:
- hdigit = hex(ord(char))[2:]
- if len(hdigit):
- mac.append(hdigit)
- except:
- mac = None
-
- mac_string = self.mac_to_string(mac)
- return [ip, netmask, mac_string]
-
- def mac_to_string(self, hexa):
- string = ''
- for value in hexa:
- if len(string)==0:
- string = value
- else:
- string += ':'+value
-
- return string