[PATCH] The Desktop class doesn't need to inherit from SimpleConfigFile.
Chris Lumens
clumens at redhat.com
Thu Sep 12 16:54:39 UTC 2013
We barely use the superclass anyway.
---
pyanaconda/desktop.py | 43 ++++++++++++++++++-------------------------
pyanaconda/kickstart.py | 4 ++--
2 files changed, 20 insertions(+), 27 deletions(-)
diff --git a/pyanaconda/desktop.py b/pyanaconda/desktop.py
index 3d73d32..3976485 100644
--- a/pyanaconda/desktop.py
+++ b/pyanaconda/desktop.py
@@ -17,47 +17,40 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Matt Wilson <msw at redhat.com>
+# Chris Lumens <clumens at redhat.com>
#
import os
-from simpleconfig import SimpleConfigFile
from pyanaconda.constants import ROOT_PATH, RUNLEVELS
import logging
log = logging.getLogger("anaconda")
-class Desktop(SimpleConfigFile):
-#
-# This class represents the default desktop to run and the default runlevel
-# to start in
-#
- def setDefaultRunLevel(self, runlevel):
- if int(runlevel) not in RUNLEVELS:
- raise RuntimeError("Desktop::setDefaultRunLevel() - Must specify runlevel as 3 or 5!")
- self.runlevel = runlevel
-
- def getDefaultRunLevel(self):
- return self.runlevel
+class Desktop(object):
+ def __init__(self):
+ self._runlevel = 3
+ self.desktop = None
- def setDefaultDesktop(self, desktop):
- self.info["DESKTOP"] = desktop
+ @property
+ def runlevel(self):
+ return self._runlevel
- def getDefaultDesktop(self):
- return self.get("DESKTOP")
+ @runlevel.setter
+ def runlevel(self, runlevel):
+ if int(runlevel) not in RUNLEVELS:
+ raise RuntimeError("Desktop::setDefaultRunLevel() - Must specify runlevel as one of %s" % RUNLEVELS.keys())
- def __init__(self):
- super(Desktop, self).__init__()
- self.runlevel = 3
+ self._runlevel = runlevel
- def write(self, filename=None, use_tmp=True):
- if self.getDefaultDesktop():
- f = open(ROOT_PATH + "/etc/sysconfig/desktop", "w")
- f.write(str(self))
- f.close()
+ def write(self):
+ if self.desktop:
+ with open(ROOT_PATH + "/etc/sysconfig/desktop", "w") as f:
+ f.write("DESKTOP=%s\n" % self.desktop)
if not os.path.isdir(ROOT_PATH + '/etc/systemd/system'):
log.warning("there is no /etc/systemd/system directory, cannot update default.target!")
return
+
default_target = ROOT_PATH + '/etc/systemd/system/default.target'
if os.path.islink(default_target):
os.unlink(default_target)
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 3963889..f61d2c3 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -1400,10 +1400,10 @@ class XConfig(commands.xconfig.F14_XConfig):
def execute(self, *args):
desktop = Desktop()
if self.startX:
- desktop.setDefaultRunLevel(5)
+ desktop.runlevel = 5
if self.defaultdesktop:
- desktop.setDefaultDesktop(self.defaultdesktop)
+ desktop.desktop = self.defaultdesktop
# now write it out
desktop.write()
--
1.8.1.2
More information about the anaconda-patches
mailing list