#! /usr/bin/python # -*- python -*- # -*- coding: utf-8 -*- # # Copyright (C) 2007 Red Hat, Inc. # # 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; version 2 of the License. # # 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. # class sysctl: def __init__(self): self.cache = {} def __getitem__(self, key): if not self.cache.has_key(key): value = self.read(key) if value == None: return None self.cache[key] = value return self.cache[key] def __setitem__(self, key, value): oldvalue = self[key] if oldvalue == None: raise IOError elif oldvalue != value: self.write(key, value) self.cache[key] = value def keys(self): return self.cache.keys() def read(self, key): try: f = file("/proc/sys/%s" % key.replace(".", "/")) except: return None value = f.readline().strip() f.close() return value def write(self, key, value): try: f = file("/proc/sys/%s" % key.replace(".", "/"), "w") except: return f.write(value) f.close() def refresh(self): for key in self.cache(): del self.cache[key] value = self.read(key) if value != None: self.cache[key] = value
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
.__init__.pyo.40009 | File | 471 B | 0755 |
|
.procfs.pyo.40009 | File | 38.52 KB | 0755 |
|
.sysctl.pyo.40009 | File | 2.08 KB | 0755 |
|
.utilist.pyo.40009 | File | 1.02 KB | 0755 |
|
__init__.py | File | 1015 B | 0755 |
|
__init__.pyc | File | 471 B | 0755 |
|
__init__.pyo | File | 471 B | 0755 |
|
procfs.py | File | 28.69 KB | 0755 |
|
procfs.pyc | File | 38.52 KB | 0755 |
|
procfs.pyo | File | 38.52 KB | 0755 |
|
sysctl.py | File | 1.61 KB | 0755 |
|
sysctl.pyc | File | 2.08 KB | 0755 |
|
sysctl.pyo | File | 2.08 KB | 0755 |
|
utilist.py | File | 1.29 KB | 0755 |
|
utilist.pyc | File | 1.02 KB | 0755 |
|
utilist.pyo | File | 1.02 KB | 0755 |
|