| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/system-config-network/netconfpkg/ |
Upload File : |
## Copyright (C) 2001-2005 Red Hat, Inc.
## Copyright (C) 2001-2005 Than Ngo <than@redhat.com>
## Copyright (C) 2001-2005 Harald Hoyer <harald@redhat.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., 675 Mass Ave, Cambridge, MA 02139, USA.
import os
from netconfpkg import NCDeviceList
from netconfpkg.NC_functions import getNickName, getDeviceType, ISDN, MODEM
import ethtool
class NetworkDevice:
def __init__(self):
self.activedevicelist = []
self.devicelist = NCDeviceList.getDeviceList()
self.load()
def load(self):
__isdnctrl = '/usr/sbin/userisdnctl'
l = ethtool.get_active_devices()
self.activedevicelist = l
# remove inactive isdn/ppp device
for i in l:
nickname = getNickName(self.devicelist, i)
if getDeviceType(i) == ISDN:
if os.access(__isdnctrl, os.X_OK):
for nick in nickname:
if (os.system('%s %s status >& /dev/null'
% (__isdnctrl, nickname)) == 0):
break
else:
try:
self.activedevicelist.remove(i)
except ValueError: # pylint: disable-msg=W0704
pass
elif getDeviceType(i) == MODEM:
if (os.access('/var/run/ppp-%s.pid' %(i), os.F_OK)):
continue
for nick in nickname:
if (os.access('/var/run/ppp-%s.pid' %(nick), os.F_OK)):
self.activedevicelist.append(nick)
break
else:
self.activedevicelist.remove(i)
# # check real ppp device
# for i in xrange(0, 10):
# if os.access('/var/run/ppp-ppp%s.pid' %(i), os.F_OK):
# self.activedevicelist.append('ppp%s' %(i))
# for pid in glob.glob('/var/run/ppp-*.pid'):
# pid = pid[13:]
# pid = pid[:-4]
# self.activedevicelist.append(pid)
self.activedevicelist.sort()
def get(self):
return self.activedevicelist
def find(self, device):
if device in self.activedevicelist:
return True
return False
__author__ = "Than Ngo <than@redhat.com>, Harald Hoyer <harald@redhat.com>"